我知道输出是四一三二。谁能解释一下如何?由于有五个项目,但只打印了四个。
TreeSet map = new TreeSet();
map.add("one");
map.add("two");
map.add("three");
map.add("four");
map.add("one");
Iterator it = map.iterator();
while (it.hasNext() )
{
System.out.print( it.next() + " " );
}
我知道输出是四一三二。谁能解释一下如何?由于有五个项目,但只打印了四个。
TreeSet map = new TreeSet();
map.add("one");
map.add("two");
map.add("three");
map.add("four");
map.add("one");
Iterator it = map.iterator();
while (it.hasNext() )
{
System.out.print( it.next() + " " );
}
TreeSet 不允许重复条目。当它被访问时,它将以自然顺序(字母顺序)返回元素。
参考: http ://docs.oracle.com/javase/6/docs/api/java/util/TreeSet.html
集合不允许重复。如果您再次添加重复项,例如“一个”,则不会添加。
TreeSet map = new TreeSet();
System.out.println(map.add("one"));
map.add("two");
map.add("three");
map.add("four");
System.out.println(map.add("one"));
Iterator it = map.iterator();
while (it.hasNext() )
{
System.out.print( it.next() + " " );
}
结果:
true
false
第二个元素没有被添加到 set 中。
添加它时检查是否if(e==null ? e2==null : e.equals(e2))
为真,然后只添加元素,Set
否则不要。
TreeSet 是 Set 接口的实现
并且 Set 总是只包含唯一的元素
因此,即使您放置了 5 个元素,TreeSet 实际上只包含 4 个,因为“一个”重复了两次。