我有一个名为 items
的项目的 List
,我正在使用以下方法将此列表复制到 Set
:
List<Item> items = new ArrayList<>();
items.add(new Item("Suremen Body Spray", 1900, 45));
items.add(new Item("HP wireless mouse", 5500, 5));
items.add(new Item("UWS USB memory stick", 1900, 8));
items.add(new Item("MTN modem", 1900, 45));
items.add(new Item("MTN modem", 1900, 45));
Collection<Item> noDups = new LinkedHashSet<Item>(items); //Copy items to noDups
//Print the new collection
noDups.stream()
.forEach(System.out::println);
当我运行代码时,所有项目都被复制到集合中,如输出所示。
另一个只使用字符串的测试工作得很好:
List<String> names = new ArrayList<>();
names.add("Eugene Ciurana");
names.add("Solid Snake");
names.add("Optimus Prime");
names.add("Cristiano Ronaldo");
names.add("Cristiano Ronaldo");
Collection<String> itemCollection = new HashSet<String>(names);
itemCollection.stream()
.forEach(System.out::println);
我可以使用什么方法将列表复制到集合中而不重复?是否有针对此的任何聚合操作,或者我是否必须编写自定义方法?
最佳答案
关于java - 使用聚合操作将对象集合复制到另一个集合而不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27776088/