抱歉,如果标题不清楚,但我不确定如何用那么少的文字来描述它。好的,假设我们有这个声明:
ArrayList<String> list = new ArrayList<String>();
//add items to list
Set<String> set = new TreeSet<String>(list);
现在,据我了解,set
将从 list
接收数据并对它们进行排序,因为这就是 TreeSet 所做的。但是,在 oracle 网站上,我没有看到 HashSet 类中有任何将 List 作为参数的构造函数。所以,我不明白如果没有定义的构造函数来接受 List 作为参数,为什么这会起作用。
最佳答案
TreeSet
有一个接受Collection
的构造函数,List
是 Collection
(List
扩展 Collection
)。
Java 集合框架中的许多类都遵循相同的概念。例如,ArrayList
也有一个采用Collection
的构造函数。这使得在集合之间复制数据变得容易。
关于java - 在java中将一个List放在另一个List的参数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6820854/