Doppelte Datensätze aus ArrayList entfernen: Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springenK |
|||
Zeile 38: | Zeile 38: | ||
public static Set<?> transformListIntoSet(List<?> list) { | public static Set<?> transformListIntoSet(List<?> list) { | ||
Set<Object> set = new LinkedHashSet<>(); | Set<Object> set = new LinkedHashSet<>(); | ||
− | + | set.addAll(list); | |
− | |||
− | |||
return set; | return set; | ||
} | } | ||
Zeile 52: | Zeile 50: | ||
public static List<?> transformSetIntoList(Set<?> set) { | public static List<?> transformSetIntoList(Set<?> set) { | ||
List<Object> list = new ArrayList<>(); | List<Object> list = new ArrayList<>(); | ||
− | + | list.addAll(set); | |
− | |||
− | |||
− | |||
return list; | return list; | ||
} | } |
Version vom 1. Februar 2018, 06:32 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.
<code=java> import java.util.ArrayList; import java.util.LinkedHashSet; 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<Object> set = new LinkedHashSet<>(); set.addAll(list); 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<Object> list = new ArrayList<>(); list.addAll(set); return list; }
} </code=java>