Java 集合不能包含重复项。但确实如此
该集合不能包含重复项 但是,此代码可以正常工作:Java 集合不能包含重复项。但确实如此,java,android,Java,Android,该集合不能包含重复项 但是,此代码可以正常工作: Set<String> vmv = new TreeSet<String>(); vmv.add("a"); vmv.add("a"); System.out.println(vmv.toString()); 我刚加了一个副本。有人能解释一下吗。从同一页往下看: add方法将指定的元素添加到集合中(如果该元素尚未存在),并返回一个布尔值,指示是否添加了该元素 …这正是它所做的。打印最终集时,您应该只看到重复元素的一个副本
Set<String> vmv = new TreeSet<String>();
vmv.add("a");
vmv.add("a");
System.out.println(vmv.toString());
我刚加了一个副本。有人能解释一下吗。从同一页往下看: add方法将指定的元素添加到集合中(如果该元素尚未存在),并返回一个布尔值,指示是否添加了该元素
…这正是它所做的。打印最终集时,您应该只看到重复元素的一个副本。从同一页,再往下: add方法将指定的元素添加到集合中(如果该元素尚未存在),并返回一个布尔值,指示是否添加了该元素 …这正是它所做的。打印最终的集合时,您应该只看到重复元素的一个副本。使用相同的值调用add两次不会再次添加它,请检查返回的布尔值,您将看到第二次它为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
使用相同的值调用add两次不会再次添加,请检查返回的布尔值,您将看到第二次该值为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
请阅读Javadoc,特别是add方法的作用。如果您的意思是,集合中有第二个元素,那么vmv.toString将导致输出[a,a]。。。事实并非如此。对于您的代码,添加两次后,集合中只有一个a。请阅读Javadoc,特别是add方法的作用。如果您的意思是,集合中有第二个元素,那么vmv.toString将导致输出[a,a]。。。事实并非如此。对于您的代码,在添加两次后,集中只有一个a。如果我理解正确。。副本没有输入,只是返回了false?如果我理解正确的话。。副本从未被输入,只是返回false?