黑马程序员技术交流社区
标题:
Java set 问题
[打印本页]
作者:
王晓东
时间:
2012-6-5 11:14
标题:
Java set 问题
Set<String> set = new HashSet<String>();
set.add("Tom");
Set<String> tree = new TreeSet<String>(set);
复制代码
java中,第三行中,最后 new TreeSet<String>(set);为什么可加(set) 这是什么写法,怎么用呀?
作者:
张少威
时间:
2012-6-5 11:14
这种情况,最好看下API或者找一下源码。
TreeSet()
构造一个新的空 set,该 set 根据其元素的自然顺序进行排序。
TreeSet(Collection<? extends E> c)
构造一个包含指定 collection 元素的新 TreeSet,它按照其元素的自然顺序进行排序。
TreeSet(Comparator<? super E> comparator)
构造一个新的空 TreeSet,它根据指定比较器进行排序。
TreeSet(SortedSet<E> s)
构造一个与指定有序 set 具有相同映射关系和相同排序的新 TreeSet。
帖子中的是四个构造函数中的一个。
作者:
唐辉辉
时间:
2012-6-5 12:17
要构造方法中:TreeSet(Collection<? extends E> c) 这里指明可以传递一个Collection对象,而Set是Collection的子类。所以也可以传递进去。
作者:
李春阳
时间:
2012-6-5 12:50
API看下构造方法就行啦~
TreeSet()有4个构造方法:
1、TreeSet()
2、TreeSet(Collection<? extends E> c)
3、TreeSet(Comparator<? super E> comparator)
4、TreeSet(SortedSet<E> s)
楼主这里是用的第四个构造函数哈~功能是: 构造一个与指定有序 set 具有相同映射关系和相同排序的新 TreeSet。
贴出来第四个构造方法的源码~这样看就更清楚啦:
public TreeSet(Collection<? extends E> c) {
this();
addAll(c);
}
Set 是Collection的子类,所以当然可以加咯
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2