1.泛型:
JDK1.5时推出的一个特性:泛型
泛型也称为参数化类型,允许我们再使用一个类中,传入某个类型来规定它内部的属性,方法,参数或返回值类型,使得我们使用时更加方便
泛型在集合中被广泛应用,用来指定集合中元素的类型
若不指定泛型的具体类型,则默认为Object类型
若指定了泛型的具体类型,则在获取泛型元素时.编译器会自动补充强转操作
public class GenericDemo {
public static void main(String[] args) {
Collection<String> c = new ArrayList<>();
c.add("scc");
c.add("saa");
c.add("ccc");
c.add("aca");
c.add("caa");
//c.add(132);//编译错误,123是类型违背了集合c所指定的泛型的实际类型String
Iterator<String> it = c.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
for (String str :
c) {
System.out.println(str);
}
}
}
2.List接口:
继承自Collection接口,List集合是可重复续集,并且有序,还提供了一套可以通过下表来操作元素的方法
常用的实现类:
ArrayList:内部使用数组实现,查询性能更好(直接下表查找物理地址),增删性能不太好
LinkedList:内部使用链表实现,查询性能不太好,首尾增删性能好
注意:在对集合操作的增删性能没有特别苛刻的要求时,通常选择ArrayList