我有一个List名为的项目,并将items此列表复制到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);
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,所有项目都被复制到集合中,如输出中所示.

使用Strings的另一个测试工作得很好:
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);
Run Code Online (Sandbox Code Playgroud)

我可以使用什么方法将列表复制到没有重复的集合中?是否有任何聚合操作,或者我是否必须编写自定义方法?