tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Thomas Darimont
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
250
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Miaming Miaming ist offline Mitglied Bronze
    Registriert seit
    May 2011
    Beiträge
    40
    Mal wieder ich.... wer auch sonst habe eine Verständnisfrage bezüglich Sets und Maps ...

    In zwei Behältern sollen jeweils genau n ganze Zahlen gespeichert werden
    Innerhalb eines Behälters sollen die Zahlen paarweise verscheiden sein (keine
    Doubletten)
    Diejenigen Zahlen, welche in beiden Behältern auftauchen, sollen bestimmt werden
    Diese Zahlen sollen dann aufsteigend sortiert ausgegeben werden

    Dazu gibt es lediglich Fragen die ich beantworten möchte

    a) Welche Datenstruktur verwenden Sie?

    Als Antwort würde ich liefern: Set <E> und hier ist schon die Frage. Als "Musterlösung" wurde uns die Implentierung von der Klasse "HashSet<E>" gegeben! Meine Frage hierzu an Experten ist nun, ob es ausreicht ob ich die Frage auch mit Set <E> beantworten könnte oder ob es zwingend notwendig ist die Klasse namentlich zu erwähnen?

    Ich muss selbst zugeben, dass als Antwort "HashSet <E> natürlich genauer ist. Aber durch die Antwort von Set <E> ist es ja quasi schon gegeben, dass dies HashSet<E> beinhaltet, (also Set<E> implemtieren ja diverse klassen wie linked hashset<E>, treeset<E> und auch eben HashSet<E>

    Also worauf ich hinaus will ist die tatsache dass ich nämlich auf anhieb nicht drauf kommen würde dass ich zwei "behälter" als tabellen realisiere. (Dies ist nämlich die eigenschaft der hashsets und nya wie gesagt ist hier nur ne kleine verständnisfrage inwiefern es formal "falsch" wäre mit lediglich "set<E> zu antworten ?
     

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

    ich würde auf eine solche Aufgabenstellung antworten, dass man hier eine Implementierung des Set-Interfaces wie HashSet / TreeSet oder LinkedHashSet verwenden kann. Das Set-Interface bildet die logischen Operationen einer "Menge" ab. In diesem konkreten Fall ist die Schnittmenge (intersection) gesucht.

    Siehe auch:
    http://www.tutorials.de/algorithmen-...nter-java.html

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    package de.tutorials;
     
    import java.util.HashSet;
    import java.util.Set;
     
    import static java.util.Arrays.asList;
     
    public class SetExample {
        public static void main(String[] args) {
            Set<Integer> a = new HashSet<>(asList(2,4,6,8,6,7,1,4));
            Set<Integer> b = new HashSet<>(asList(1,3,5,8,5,3,3,4));
            
            Set<Integer> c = new HashSet<>(a);
            c.retainAll(b);
            
            System.out.println(c);
        }
    }
    Ausgabe:
    Code :
    1
    
    [1, 4, 8]

    Gruß Tom
    Miaming bedankt sich. 
    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

  3. #3
    Miaming Miaming ist offline Mitglied Bronze
    Registriert seit
    May 2011
    Beiträge
    40
    Hallöchen, ich finde es wirklich nett dass ihr mir (also im allg.) weiter helft! Ist sehr hilfreich für meine Vorbereitung! Rechtherzlichen Dank!
     

Ähnliche Themen

  1. Implementierung der Klasse Quad
    Von kurwajebana im Forum Java
    Antworten: 3
    Letzter Beitrag: 23.10.07, 23:05
  2. Set/HashSet
    Von truejojo im Forum Java
    Antworten: 1
    Letzter Beitrag: 20.05.07, 11:35
  3. Implementierung einer Klasse
    Von blackbirdthefirst im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 06.06.06, 11:08
  4. Collection AND HashSet
    Von lernen.2007 im Forum Java
    Antworten: 3
    Letzter Beitrag: 08.01.06, 19:35
  5. hashSet
    Von yidaki im Forum Java
    Antworten: 3
    Letzter Beitrag: 08.07.04, 14:47