Удаление дубликатов из списка без перебора или использования набора
Возможный дубликат:
Более эффективный способ удаления элементов из списка массивов
Я разработал список массивов
ArrayList<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.add("3");
list.add("5");
list.add("6");
list.add("7");
list.add("7");
list.add("1");
list.add("10");
list.add("2");
list.add("12");
Теперь то, что я пытался удалить из него дублирующиеся элементы, но на этот раз я не хочу преобразовывать его в набор или иметь итерационный цикл в самом списке, что я пытался использовать любой встроенный метод класса List или Collections, который удалит дубликаты или есть ли другой способ добиться этого, пожалуйста, сообщите, заранее спасибо
2 ответа
Там просто нет решения для того, что вы спрашиваете. Не использовать List
в первую очередь - использовать Set
, Если вы обеспокоены сохранением порядка вставок, есть LinkedHashSet
, Если вам нужно вернуться List
из метода - использовать LinkedHashSet
, а затем преобразовать его в List
; или подумайте о возвращении Collection
не List
,
List<String> list = new List<String>();
...
list = list.Distinct().ToList<String>();