Doppelte Datensätze aus ArrayList entfernen: Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springenK |
K |
||
Zeile 4: | Zeile 4: | ||
<code=java> | <code=java> | ||
+ | import java.util.ArrayList; | ||
+ | import java.util.HashSet; | ||
+ | import java.util.Iterator; | ||
+ | import java.util.List; | ||
+ | import java.util.Set; | ||
+ | |||
/** | /** | ||
* CollectionUtil bietet Methoden zur Umwandlung und Behandlung von | * CollectionUtil bietet Methoden zur Umwandlung und Behandlung von | ||
Zeile 19: | Zeile 25: | ||
*/ | */ | ||
public static List<?> removeDuplicate(List<?> list) { | public static List<?> removeDuplicate(List<?> list) { | ||
− | Set | + | Set set = transformListIntoSet(list); |
− | List | + | List listWithoutDuplicate = transformSetIntoList(set); |
return listWithoutDuplicate; | return listWithoutDuplicate; | ||
} | } | ||
Zeile 31: | Zeile 37: | ||
*/ | */ | ||
public static Set<?> transformListIntoSet(List<?> list) { | public static Set<?> transformListIntoSet(List<?> list) { | ||
− | Set | + | Set set = new HashSet<>(); |
for(Object o : list) { | for(Object o : list) { | ||
− | set. | + | set.add(o); |
} | } | ||
return set; | return set; | ||
Zeile 45: | Zeile 51: | ||
*/ | */ | ||
public static List<?> transformSetIntoList(Set<?> set) { | public static List<?> transformSetIntoList(Set<?> set) { | ||
− | List | + | List list = new ArrayList<>(); |
Iterator<?> it = set.iterator(); | Iterator<?> it = set.iterator(); | ||
while(it.hasNext()) { | while(it.hasNext()) { | ||
Zeile 52: | Zeile 58: | ||
return list; | return list; | ||
} | } | ||
− | + | ||
} | } | ||
</code=java> | </code=java> |
Version vom 28. Januar 2018, 17:06 Uhr
Manchmal hat man Listen mit doppelten oder mehrfachen Einträgen. Wenn man keine doppelten Einträge in einer Collection
zulassen möchte, verwendet man statt einer List
ein Set
. Sets lassen von Hause aus keine doppelten Einträge zu. Dieses Verhalten kann man zur Lösung des Problems dieses Themas benutzen.
![]() |
Dieser Beitrag wird derzeit noch bearbeitet. Der Text ist deshalb unvollständig und kann Fehler oder ungeprüfte Aussagen enthalten. |
<code=java> import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set;
/**
* CollectionUtil bietet Methoden zur Umwandlung und Behandlung von * Collection-Typen an. * * @autor Gernot Segieth */
public class CollectionUtil {
/** * Entfernt doppelte Einträge aus der übergebenen Liste. * * @param list eine Liste mit doppelten Einträgen * @return die um doppelte Einträge bereinigte Liste */ public static List<?> removeDuplicate(List<?> list) { Set set = transformListIntoSet(list); List listWithoutDuplicate = transformSetIntoList(set); return listWithoutDuplicate; }
/** * Wandelt eine List in ein Set um. * * @param list die Liste, die in ein Set verwandelt werden soll * @return der Ergebnis-Typ, ein Set */ public static Set<?> transformListIntoSet(List<?> list) { Set set = new HashSet<>(); for(Object o : list) { set.add(o); } return set; }
/** * Wandelt ein Set in eine List um. * * @param set das Set, das in eine List verwandelt werden soll * @return der Ergebnis-Typ, eine List */ public static List<?> transformSetIntoList(Set<?> set) { List list = new ArrayList<>(); Iterator<?> it = set.iterator(); while(it.hasNext()) { list.add(it.next()); } return list; }
} </code=java>