一、层次
Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。
二、重要接口
2.1 List(有序、可重复)
List包括List接口以及List接口的所有实现类。除拥有Collection接口提供的常用方法,List接口还提供了一些自身的常用方法,均与索引相关,这是因为List集合为列表类型,以线性方式存储对象,可以通过对象的索引操作对象。详细方法见下表。
List接口的常用实现类包括ArrayList和LinkedList。
import java.util.LinkedList;
import java.util.ArrayList;
//若为import java.awt.List;该包中没有泛型。会出现"List is not generic."
List<Integer> nums = new LinkedList<>();
List<Integer> nums2 = new ArrayList<>();
//ArrayList比LinkedList更节省时间。
/*详见LintCode 100,删除排序数组中的重复数字*/
public int removeDuplicates(int[] nums) {
List<Integer> dnums = new ArrayList<>();
//此处若为LinkedList会出现"Time Limit"。
for (int n : nums) {
if (!dnums.contains(n))
dnums.add(n);
}
for (int i=0; i<dnums.size(); i++) {
nums[i] = dnums.get(i);
}
return dnums.size();
}
2.2 Set(有序、不可重复)
Set与List在使用add方法时,List默认加入到末尾,而Set是添加到头。
参考文献: