Here you can find the source of removeEqualItems(List
Parameter | Description |
---|---|
T | het type van de lijst |
list | de lijst; |
public static <T> List<T> removeEqualItems(List<T> list)
//package com.java2s; import java.util.List; public class Main { /**//from w ww . j a va 2s . com * Ontdubbeld de items van deze lijst. De lijst zelf wordt gewijzigd. * * @param <T> * het type van de lijst * @param list * de lijst; * @return de (gewijzigde) lijst na ontdubbeling */ public static <T> List<T> removeEqualItems(List<T> list) { if (list == null || list.isEmpty()) return list; T temp = null; List<T> sublist; for (int i = 0; i < list.size() - 1; i++) { temp = list.get(i); sublist = list.subList(i + 1, list.size()); // mischien nog wat doen aan performance omdat remove alle volgende items // een index omhoog laat opschuiven while (sublist.remove(temp)) {// remove all occurances } } return list; // om de performance te boosten zouden we alles in een array kunnen dumpen, // daar de dubbelen uitzoeken, indien die gevonden worden de lijst leeggooien en // weer vullen met wat er over is in de array } }