documentation states集不能包含重复项

但是此代码可以正常工作:

Set<String> vmv = new TreeSet<String>();
vmv.add("a");
vmv.add("a");
System.out.println(vmv.toString());


我刚刚添加了一个副本。有人可以解释一下。

最佳答案

两次调用具有相同值的add()不会再次添加它,请检查返回的boolean,您将看到第二次是false,或者检查集合的大小以验证它是否没有。第二次改变后:

Set<String> vmv = new TreeSet<String>();

System.out.println(vmv.add("a")); // prints true
System.out.println(vmv.size());   // prints 1

System.out.println(vmv.add("a")); // prints false
System.out.println(vmv.size());   // prints 1

关于java - 集不能包含重复项。但这确实,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22026352/

10-10 02:26