tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
918
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    bauernsk1ll bauernsk1ll ist offline Rookie
    Registriert seit
    Dec 2011
    Beiträge
    5
    Hi,
    ich suche nach einer Möglichkeit vier Arraylisten zu sortieren.
    Die Vorgabe ist:

    "The list should be sorted by ascending number of duplicates and within each duplicate level alphabetically"

    Die Arraylisten mit Unterscheidungen in den Duplikaten habe ich bereits erstellt.
    Wie kann ich hier weiter vorgehen?

    Grüße
     

  2. #2
    Avatar von Akeshihiro
    Akeshihiro Akeshihiro ist offline Mitglied Platin
    Registriert seit
    Aug 2008
    Ort
    Kirchlengern (NRW)
    Beiträge
    647
    Wie sehen denn die Listen aus?

    Aber prinzipiell so: Du kannst Listen mit Collections.sort(List) oder mit Collections.sort(List, Comparator) sortieren lassen. Die erste Variante geht, wenn deine Objekte das Interface Comparable implementieren, ansonsten kannst du die zweite Variante nehmen und den Comparator den Vergleich übernehmen lassen. Egal auf welche Art du das machst, du kannst dabei halt deine Sortierstufen gut definieren. Zuerst prüfst du eben auf Gleichheit der Nummern, bei den Ergebnissen 1 oder -1 war's das dann auch schon. Wenn aber bei dem Nummernvergleich als Ergebnis 0 kommt (also sind beide Nummern gleich), dann gehst du halt in die nächste Ebene und vergleichst den nächsten Part.
     
    Man sagt, das Schwert eines Samurai sei seine Seele ...

    Mit den Beiträgen ist es wie mit Schwertern: Je besser die Rohstoffe sind und je öfter man diese bearbeitet, desto hochwertiger sind sie.

    Das Schmieden ist eine Kunst; Das Schreiben auch ;)

  3. #3
    bauernsk1ll bauernsk1ll ist offline Rookie
    Registriert seit
    Dec 2011
    Beiträge
    5
    Ich habe eig nur 4 listen erstellt die sich darin unterscheiden, dass keine/ein/zwei/drei duplikat/e enthalten sind. mit duplikaten ist gemeint, dass diese direkt aufeinander folgen müssen.
    Bsp: abca ist kein Duplikat, aabc hingegen schon.
    Die fertige Listen sollten dann unter den oben genannten Kriterien zusammengeführt werden("The list should be sorted by ascending number of duplicates and within each duplicate level alphabetically").

    Die fertige Liste sieht dann folgendermaßen aus, wenn man alle Permutationen mit Wiederholungen für den String "abcdef" betrachtet.

    Code :
    1
    
    [aaaa, aaab, aaac, aaad, aaae, aaaf, aaba, aabb, aabc, aabd, aabe, aabf, aaca, aacb, aacc, aacd, aace, aacf, aada, aadb, aadc, aadd, aade, aadf, aaea, aaeb, aaec, aaed, aaee, aaef, aafa, aafb, aafc, aafd, aafe, aaff, abaa, abab, abac, abad, abae, abaf, abba, abbb, abbc, abbd, abbe, abbf, abca, abcb, abcc, abcd, abce, abcf, abda, abdb, abdc, abdd, abde, abdf, abea, abeb, abec, abed, abee, abef, abfa, abfb, abfc, abfd, abfe, abff, acaa, acab, acac, acad, acae, acaf, acba, acbb, acbc, acbd, acbe, acbf, acca, accb, accc, accd, acce, accf, acda, acdb, acdc, acdd, acde, acdf, acea, aceb, acec, aced, acee, acef, acfa, acfb, acfc, acfd, acfe, acff, adaa, adab, adac, adad, adae, adaf, adba, adbb, adbc, adbd, adbe, adbf, adca, adcb, adcc, adcd, adce, adcf, adda, addb, addc, addd, adde, addf, adea, adeb, adec, aded, adee, adef, adfa, adfb, adfc, adfd, adfe, adff, aeaa, aeab, aeac, aead, aeae, aeaf, aeba, aebb, aebc, aebd, aebe, aebf, aeca, aecb, aecc, aecd, aece, aecf, aeda, aedb, aedc, aedd, aede, aedf, aeea, aeeb, aeec, aeed, aeee, aeef, aefa, aefb, aefc, aefd, aefe, aeff, afaa, afab, afac, afad, afae, afaf, afba, afbb, afbc, afbd, afbe, afbf, afca, afcb, afcc, afcd, afce, afcf, afda, afdb, afdc, afdd, afde, afdf, afea, afeb, afec, afed, afee, afef, affa, affb, affc, affd, affe, afff, baaa, baab, baac, baad, baae, baaf, baba, babb, babc, babd, babe, babf, baca, bacb, bacc, bacd, bace, bacf, bada, badb, badc, badd, bade, badf, baea, baeb, baec, baed, baee, baef, bafa, bafb, bafc, bafd, bafe, baff, bbaa, bbab, bbac, bbad, bbae, bbaf, bbba, bbbb, bbbc, bbbd, bbbe, bbbf, bbca, bbcb, bbcc, bbcd, bbce, bbcf, bbda, bbdb, bbdc, bbdd, bbde, bbdf, bbea, bbeb, bbec, bbed, bbee, bbef, bbfa, bbfb, bbfc, bbfd, bbfe, bbff, bcaa, bcab, bcac, bcad, bcae, bcaf, bcba, bcbb, bcbc, bcbd, bcbe, bcbf, bcca, bccb, bccc, bccd, bcce, bccf, bcda, bcdb, bcdc, bcdd, bcde, bcdf, bcea, bceb, bcec, bced, bcee, bcef, bcfa, bcfb, bcfc, bcfd, bcfe, bcff, bdaa, bdab, bdac, bdad, bdae, bdaf, bdba, bdbb, bdbc, bdbd, bdbe, bdbf, bdca, bdcb, bdcc, bdcd, bdce, bdcf, bdda, bddb, bddc, bddd, bdde, bddf, bdea, bdeb, bdec, bded, bdee, bdef, bdfa, bdfb, bdfc, bdfd, bdfe, bdff, beaa, beab, beac, bead, beae, beaf, beba, bebb, bebc, bebd, bebe, bebf, beca, becb, becc, becd, bece, becf, beda, bedb, bedc, bedd, bede, bedf, beea, beeb, beec, beed, beee, beef, befa, befb, befc, befd, befe, beff, bfaa, bfab, bfac, bfad, bfae, bfaf, bfba, bfbb, bfbc, bfbd, bfbe, bfbf, bfca, bfcb, bfcc, bfcd, bfce, bfcf, bfda, bfdb, bfdc, bfdd, bfde, bfdf, bfea, bfeb, bfec, bfed, bfee, bfef, bffa, bffb, bffc, bffd, bffe, bfff, caaa, caab, caac, caad, caae, caaf, caba, cabb, cabc, cabd, cabe, cabf, caca, cacb, cacc, cacd, cace, cacf, cada, cadb, cadc, cadd, cade, cadf, caea, caeb, caec, caed, caee, caef, cafa, cafb, cafc, cafd, cafe, caff, cbaa, cbab, cbac, cbad, cbae, cbaf, cbba, cbbb, cbbc, cbbd, cbbe, cbbf, cbca, cbcb, cbcc, cbcd, cbce, cbcf, cbda, cbdb, cbdc, cbdd, cbde, cbdf, cbea, cbeb, cbec, cbed, cbee, cbef, cbfa, cbfb, cbfc, cbfd, cbfe, cbff, ccaa, ccab, ccac, ccad, ccae, ccaf, ccba, ccbb, ccbc, ccbd, ccbe, ccbf, ccca, cccb, cccc, cccd, ccce, cccf, ccda, ccdb, ccdc, ccdd, ccde, ccdf, ccea, cceb, ccec, cced, ccee, ccef, ccfa, ccfb, ccfc, ccfd, ccfe, ccff, cdaa, cdab, cdac, cdad, cdae, cdaf, cdba, cdbb, cdbc, cdbd, cdbe, cdbf, cdca, cdcb, cdcc, cdcd, cdce, cdcf, cdda, cddb, cddc, cddd, cdde, cddf, cdea, cdeb, cdec, cded, cdee, cdef, cdfa, cdfb, cdfc, cdfd, cdfe, cdff, ceaa, ceab, ceac, cead, ceae, ceaf, ceba, cebb, cebc, cebd, cebe, cebf, ceca, cecb, cecc, cecd, cece, cecf, ceda, cedb, cedc, cedd, cede, cedf, ceea, ceeb, ceec, ceed, ceee, ceef, cefa, cefb, cefc, cefd, cefe, ceff, cfaa, cfab, cfac, cfad, cfae, cfaf, cfba, cfbb, cfbc, cfbd, cfbe, cfbf, cfca, cfcb, cfcc, cfcd, cfce, cfcf, cfda, cfdb, cfdc, cfdd, cfde, cfdf, cfea, cfeb, cfec, cfed, cfee, cfef, cffa, cffb, cffc, cffd, cffe, cfff, daaa, daab, daac, daad, daae, daaf, daba, dabb, dabc, dabd, dabe, dabf, daca, dacb, dacc, dacd, dace, dacf, dada, dadb, dadc, dadd, dade, dadf, daea, daeb, daec, daed, daee, daef, dafa, dafb, dafc, dafd, dafe, daff, dbaa, dbab, dbac, dbad, dbae, dbaf, dbba, dbbb, dbbc, dbbd, dbbe, dbbf, dbca, dbcb, dbcc, dbcd, dbce, dbcf, dbda, dbdb, dbdc, dbdd, dbde, dbdf, dbea, dbeb, dbec, dbed, dbee, dbef, dbfa, dbfb, dbfc, dbfd, dbfe, dbff, dcaa, dcab, dcac, dcad, dcae, dcaf, dcba, dcbb, dcbc, dcbd, dcbe, dcbf, dcca, dccb, dccc, dccd, dcce, dccf, dcda, dcdb, dcdc, dcdd, dcde, dcdf, dcea, dceb, dcec, dced, dcee, dcef, dcfa, dcfb, dcfc, dcfd, dcfe, dcff, ddaa, ddab, ddac, ddad, ddae, ddaf, ddba, ddbb, ddbc, ddbd, ddbe, ddbf, ddca, ddcb, ddcc, ddcd, ddce, ddcf, ddda, dddb, dddc, dddd, ddde, dddf, ddea, ddeb, ddec, dded, ddee, ddef, ddfa, ddfb, ddfc, ddfd, ddfe, ddff, deaa, deab, deac, dead, deae, deaf, deba, debb, debc, debd, debe, debf, deca, decb, decc, decd, dece, decf, deda, dedb, dedc, dedd, dede, dedf, deea, deeb, deec, deed, deee, deef, defa, defb, defc, defd, defe, deff, dfaa, dfab, dfac, dfad, dfae, dfaf, dfba, dfbb, dfbc, dfbd, dfbe, dfbf, dfca, dfcb, dfcc, dfcd, dfce, dfcf, dfda, dfdb, dfdc, dfdd, dfde, dfdf, dfea, dfeb, dfec, dfed, dfee, dfef, dffa, dffb, dffc, dffd, dffe, dfff, eaaa, eaab, eaac, eaad, eaae, eaaf, eaba, eabb, eabc, eabd, eabe, eabf, eaca, eacb, eacc, eacd, eace, eacf, eada, eadb, eadc, eadd, eade, eadf, eaea, eaeb, eaec, eaed, eaee, eaef, eafa, eafb, eafc, eafd, eafe, eaff, ebaa, ebab, ebac, ebad, ebae, ebaf, ebba, ebbb, ebbc, ebbd, ebbe, ebbf, ebca, ebcb, ebcc, ebcd, ebce, ebcf, ebda, ebdb, ebdc, ebdd, ebde, ebdf, ebea, ebeb, ebec, ebed, ebee, ebef, ebfa, ebfb, ebfc, ebfd, ebfe, ebff, ecaa, ecab, ecac, ecad, ecae, ecaf, ecba, ecbb, ecbc, ecbd, ecbe, ecbf, ecca, eccb, eccc, eccd, ecce, eccf, ecda, ecdb, ecdc, ecdd, ecde, ecdf, ecea, eceb, ecec, eced, ecee, ecef, ecfa, ecfb, ecfc, ecfd, ecfe, ecff, edaa, edab, edac, edad, edae, edaf, edba, edbb, edbc, edbd, edbe, edbf, edca, edcb, edcc, edcd, edce, edcf, edda, eddb, eddc, eddd, edde, eddf, edea, edeb, edec, eded, edee, edef, edfa, edfb, edfc, edfd, edfe, edff, eeaa, eeab, eeac, eead, eeae, eeaf, eeba, eebb, eebc, eebd, eebe, eebf, eeca, eecb, eecc, eecd, eece, eecf, eeda, eedb, eedc, eedd, eede, eedf, eeea, eeeb, eeec, eeed, eeee, eeef, eefa, eefb, eefc, eefd, eefe, eeff, efaa, efab, efac, efad, efae, efaf, efba, efbb, efbc, efbd, efbe, efbf, efca, efcb, efcc, efcd, efce, efcf, efda, efdb, efdc, efdd, efde, efdf, efea, efeb, efec, efed, efee, efef, effa, effb, effc, effd, effe, efff, faaa, faab, faac, faad, faae, faaf, faba, fabb, fabc, fabd, fabe, fabf, faca, facb, facc, facd, face, facf, fada, fadb, fadc, fadd, fade, fadf, faea, faeb, faec, faed, faee, faef, fafa, fafb, fafc, fafd, fafe, faff, fbaa, fbab, fbac, fbad, fbae, fbaf, fbba, fbbb, fbbc, fbbd, fbbe, fbbf, fbca, fbcb, fbcc, fbcd, fbce, fbcf, fbda, fbdb, fbdc, fbdd, fbde, fbdf, fbea, fbeb, fbec, fbed, fbee, fbef, fbfa, fbfb, fbfc, fbfd, fbfe, fbff, fcaa, fcab, fcac, fcad, fcae, fcaf, fcba, fcbb, fcbc, fcbd, fcbe, fcbf, fcca, fccb, fccc, fccd, fcce, fccf, fcda, fcdb, fcdc, fcdd, fcde, fcdf, fcea, fceb, fcec, fced, fcee, fcef, fcfa, fcfb, fcfc, fcfd, fcfe, fcff, fdaa, fdab, fdac, fdad, fdae, fdaf, fdba, fdbb, fdbc, fdbd, fdbe, fdbf, fdca, fdcb, fdcc, fdcd, fdce, fdcf, fdda, fddb, fddc, fddd, fdde, fddf, fdea, fdeb, fdec, fded, fdee, fdef, fdfa, fdfb, fdfc, fdfd, fdfe, fdff, feaa, feab, feac, fead, feae, feaf, feba, febb, febc, febd, febe, febf, feca, fecb, fecc, fecd, fece, fecf, feda, fedb, fedc, fedd, fede, fedf, feea, feeb, feec, feed, feee, feef, fefa, fefb, fefc, fefd, fefe, feff, ffaa, ffab, ffac, ffad, ffae, ffaf, ffba, ffbb, ffbc, ffbd, ffbe, ffbf, ffca, ffcb, ffcc, ffcd, ffce, ffcf, ffda, ffdb, ffdc, ffdd, ffde, ffdf, ffea, ffeb, ffec, ffed, ffee, ffef, fffa, fffb, fffc, fffd, fffe, ffff]

    editankeschön hat sich erledigt
    Geändert von sheel (10.12.11 um 14:16 Uhr) Grund: restore
     

  4. #4
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist gerade online Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Hi,
    also wenn ich das richtig verstanden habe, dann musst du die Werte für die Liste alphabetisch sortieren.
    Wenn du die Sortierung nicht selber machen musst, würde ich dir empfehlen mit dem SortedSet (TreeSet) zu arbeiten. Dieses TreeSet sortiert dir die Werte automatisch nach dem Alphabet.

    Gruß

    Fabio
     
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  5. #5
    Avatar von suchong
    suchong suchong ist offline Mitglied
    Registriert seit
    Oct 2011
    Beiträge
    14
    Zitat Zitat von Fabio Hellmann Beitrag anzeigen
    Dieses TreeSet sortiert dir die Werte automatisch nach dem Alphabet.
    Nur lässt ein TreeSet keine Duplikate zu (falls das verlangt ist).
     

Ähnliche Themen

  1. ArrayListen - Vergleich
    Von AvS im Forum Algorithmen & Datenstrukturen mit Java
    Antworten: 2
    Letzter Beitrag: 24.01.10, 23:42
  2. Antworten: 5
    Letzter Beitrag: 24.09.08, 00:10
  3. 2 ArrayListen in Zeilen ausgeben
    Von javaxy im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 4
    Letzter Beitrag: 16.05.07, 19:34
  4. ArrayList soll ArrayListen aufnehmen
    Von Joerg66 im Forum Java
    Antworten: 7
    Letzter Beitrag: 16.10.05, 11:31
  5. Antworten: 1
    Letzter Beitrag: 08.01.03, 22:10