В моей программе у меня есть список массивов, содержащий в нем объекты продукта. Я хочу удалить из него дублированные объекты продукта. Есть ли какой-либо эффективный способ, отличный от циклов над каждым элементом, и сравнить их.удалить дублированные элементы из списка массивов
ответ
Вы можете использовать Set
, но вы потеряете первоначальный порядок списка.
Что вы можете сделать, чтобы сохранить порядок является:
Set<E> copied = new HashSet<>();
List<E> res = new ArrayList<>();
for(E e : originalList) {
if(!copied.contains(e)) {
res.add(e);
}
copied.add(e);
}
просто добавьте все элементы в set
. это не позволит Повторяющиеся значения
List<Product> list=new ArrayList<>();
Set<Product> set=new HashSet<>();
set.addAll(list);
Использование Set вместо списка будет удалить дубликаты
Попробуйте использовать Set вместо списка. Набор не позволит дублировать значения.
Вы можете просто положить элемент в Set
. Установите только уникальные значения.
List<String> list=new ArrayList<>();
Set<String> set=new HashSet<>();
set.addAll(list); // now you have unique value set
Если вы хотите, чтобы конечный результат как уникальное значение List
только вам нужно, чтобы получить это Set
, как List
List<String> uniqueValList=new ArrayList<>(set);
Просто передайте список вашей коллекции Hashset
конструктора и получить его обратно.
Тогда что один лайнер будет,
list = new ArrayList<E>(new HashSet<E>(list));
Советы выше использовать набор хорошо - но если вам нужно, чтобы сохранить порядок просто использовать LinkedHashSet http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashSet.html
List<String> list = ...
Set<String> set = new LinkedHashSet<>(list);
list.clear();
list.addAll(set);
Это сохранит порядок и удалит все дубликаты.
Результат будет чувствительным к регистру, хотя в случае строк.
- 1. Удалить элементы из списка наблюдаемых массивов
- 2. JAVA - удалить элементы из списка массивов String
- 3. Удалить дублированные элементы JComboBox
- 4. Удалить дублированные элементы из списка <String>
- 5. Как удалить отмеченные элементы/конкретные элементы из списка массивов/listview
- 6. Удалить дублированные элементы из XML по атрибуту
- 7. Как удалить дублированные узлы из связанного списка?
- 8. Удалить дублированные элементы в списке
- 9. Удалить дублированные элементы в Python
- 10. Удалить элементы из вложенных массивов
- 11. Удалить элементы из списка
- 12. Удалить элементы из списка?
- 13. Удалить элементы из списка
- 14. Удалить элементы из списка
- 15. Python: удалить повторяющиеся элементы из вложенного списка
- 16. Фильтровать дублированные элементы из перечислимого
- 17. Скрыть дублированные элементы списка/элементы списка с тем же контентом
- 18. Как удалить повторяющиеся элементы из списка массивов numpy?
- 19. Списка в Android: Переименовать дублированные элементы
- 20. Удалить все элементы из списка
- 21. Удалить элементы из списка С
- 22. Удалить элементы из отдельного списка
- 23. Как удалить элементы из списка?
- 24. Удалить уникальные элементы из списка
- 25. Удалить старые элементы из списка
- 26. Как удалить элементы из списка
- 27. Удалить ненужные элементы из списка
- 28. Удалить нечетные элементы из списка
- 29. Как удалить элементы из списка?
- 30. Удалить элементы типа из списка
Посмотрите на это: http://stackoverflow.com/questions/5741038/remove-duplicates-from-arraylists – Unii