日期:2014-05-20  浏览次数:20732 次

ArrayList集合构造函数的疑问
ArrayList(Collection<? extends E> c) 
  构造一个包含指定 collection 中的元素的新 List。

这个构造函数()里应该传什么?按字面应该是传一个List类型的集合对象,但传阿拉伯数字也编译得过?或者传Set的集合对象也行?
new ArrayList(1);
new ArrayList(new TreeSet());

------解决方案--------------------
ArrayList() 
构造一个初始容量为 10 的空列表。
 
ArrayList(Collection<? extends E> c) 
构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。 
new ArrayList(new TreeSet());

ArrayList(int initialCapacity) 
构造一个具有指定初始容量的空列表。 
new ArrayList(1);