ArrayList Custom Item mit gleicher Property aussortieren

  • Antworten:2
  • Bentwortet
Aaron B.
  • Forum-Beiträge: 206

25.07.2013, 21:58:06 via App

Hallo community

Folgendes Problem:

Ich habe eine Klasse mit mehreren Strings und einigen anderen Variablen. Einer der Strings heißt z. B. Name.

Aus einigen Daten wird dann eine ArrayList aus dieser Klasse erstellt.

Zum sortieren nutze ich einen Custom-Comparator, der in compare() p1.name.compareTo(p2.name) ausgibt.

Es kann mehrere Items geben, die den gleichen Namen haben. In diesem Fall soll nur 1 einziges der Items in die Liste aufgenommen werden und alle anderen entfernt werden.

Könnte man dieses Aussortieren in den Comparator einbauen? Oder anders lösen?

Mein Comparator:
1public class SoundItemComparator implements Comparator<SoundItem>
2{
3
4 public int compare(SoundItem p1, SoundItem p2) {
5 return (p1.getName() == null ? "null" : p1.getName()).compareTo((p2.getName() == null ? "null" : p2.getName()));
6 }
7
8}

LG

— geändert am 25.07.2013, 21:58:29

Antworten
JekApps
  • Forum-Beiträge: 19

29.07.2013, 22:33:38 via Website

Ich denke ich würde es einfach über eine Map lösen.

Füge alle Elemente ich eine HashMap ein und nimm als key den generierten Namen und als value das jeweilige Objekt.
So werden Objekte mit gleichem Namen überschrieben und zum schluss erhälst du über map.values() deine Objekte.

Antworten
Aaron B.
  • Forum-Beiträge: 206

30.07.2013, 07:14:57 via App

Hat sich erledigt aber trotzdem danke. :)

Antworten