tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
2572
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.885
    Blog-Einträge
    29
    Hallo,

    hier mal ein kleines Beispiel für Mengenoperationen unter Java:
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    
    /**
     * 
     */
    package de.tutorials;
     
    import java.util.HashSet;
    import java.util.Set;
     
    /**
     * @author Thomas.Darimont
     * 
     */
    public class SetExample {
     
        /**
         * @param args
         */
        public static void main(String[] args) {
            Set<Integer> setA = new HashSet<Integer>();
            Set<Integer> setB = new HashSet<Integer>();
     
            setA.add(2);
            setA.add(5);
            setA.add(8);
            setA.add(9);
     
            setB.add(5);
            setB.add(7);
            setB.add(8);
     
            System.out.println("Union: " + union(setA, setB));
            System.out.println("Minus: " + minus(setA, setB));
            System.out.println("Intersect: " + intersect(setA, setB));
            System.out.println("Complement: " + complement(setA, setB));
        }
     
        private static <TElement> Set<TElement> complement(Set<TElement> setA,
                Set<TElement> setB) {
            return minus(union(setA, setB), intersect(setA, setB));
        }
     
        private static <TElement> Set<TElement> intersect(Set<TElement> setA,
                Set<TElement> setB) {
            Set<TElement> set = new HashSet<TElement>(setA);
            set.retainAll(setB);
            return set;
        }
     
        private static <TElement> Set<TElement> minus(Set<TElement> setA,
                Set<TElement> setB) {
            Set<TElement> set = new HashSet<TElement>(setA);
            set.removeAll(setB);
            return set;
        }
     
        private static <TElement> Set<TElement> union(Set<TElement> setA,
                Set<TElement> setB) {
            Set<TElement> set = new HashSet<TElement>(setA);
            set.addAll(setB);
            return set;
        }
    }

    Ausgabe:
    Code :
    1
    2
    3
    4
    
    Union: [2, 5, 7, 8, 9]
    Minus: [2, 9]
    Intersect: [5, 8]
    Complement: [2, 7, 9]

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  2. #2
    dontschew dontschew ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Ort
    Suhl/Thüringen
    Beiträge
    161
    Könntest du mir mal bitte diesen Rückgabetypen erklären:

    Code java:
    1
    
    private static <TElement> Set<TElement>

    Set vom typ TElement aber warum nochmal <TElement> davor?
     

  3. #3
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.885
    Blog-Einträge
    29
    Hallo,

    damit deklariert man den Typ-Parameter der generischen Methode.

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  4. #4
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Denn TElement gibt es ja eigentlich nicht. Würde man es also nicht noch einmal davor schreiben, würde der Compiler versuchen eine Klasse namens TElement zu suchen, statt es als generischen Typparameter zu erkennen.
     

Ähnliche Themen

  1. TTS unter Java
    Von Andibert im Forum Java
    Antworten: 7
    Letzter Beitrag: 21.08.08, 16:10
  2. Java 5 Annotations unter Java 1.4, 1.3 nutzen
    Von Thomas Darimont im Forum Java
    Antworten: 0
    Letzter Beitrag: 17.02.05, 13:53
  3. Rendering Performance von Java 2D / Swing verbessern unter Java 5
    Von Thomas Darimont im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 06.02.05, 00:58
  4. Antworten: 0
    Letzter Beitrag: 30.12.04, 09:11
  5. IPC unter Java
    Von steffi_ma im Forum Java
    Antworten: 3
    Letzter Beitrag: 27.12.04, 20:23