将列表放在java中另一个List的参数中

时间:2011-07-25 18:49:39

标签: java

很抱歉,如果标题不清楚,但我不确定如何用少量的单词来描述。好吧,假设我们有这个声明:

ArrayList<String> list = new ArrayList<String>();
//add items to list
Set<String> set = new TreeSet<String>(list);

现在,根据我的理解,set将从list接收数据并对其进行排序,因为这就是TreeSet的功能。但是,在oracle网站上,我没有在HashSet类中看到任何以List作为参数的构造函数。所以,如果没有定义的构造函数接受List作为参数,我不明白为什么会这样。

2 个答案:

答案 0 :(得分:4)

TreeSet有一个带Collection的构造函数,List 一个CollectionList extends {{1 }})。

Java集合框架中的许多类遵循相同的概念。例如,Collection也有一个带ArrayList的构造函数。这样可以轻松地在集合之间复制数据。

答案 1 :(得分:0)

看看TreeSet(Collection c)。这会接受CollectionArrayList实施Collection