List接口:
1.实现List接口的常用类有ArrayList和LinkedList,他们都可以容纳所有类型的对象,包括null,允许重复,并且都保证元素的存储顺序。
2.ArrayList对数组进行了封装,实现了长度可变的数组。ArrayList存储数据的方式和数组相同,都是在内存中分配连续的空间
3.ArrayList的优点:遍历元素和随机访问元素的效率比较高
4.LinkedList采用链表存储方式,它提供了额外的addFirst(),addLast(),removeFirst()和removeLast()等方法,可以在linkedList的首部或尾部进行插入或删除操作。这些方法使得LinkedList可被用作堆栈(stack)或者队列(queue);
5.LinkedList的优点:插入,删除元素时的效率很高;
ArrayList集合类:
1.add(Object o),size(),get(int index)
remove(int index),remove(Object o),contains()方法运用的实例:
public class Test11 {
public static void main(String[] args) {
//创建4个dog对象
Dog ououDog=new Dog("欧欧","雪纳瑞");
Dog yayaDog=new Dog("亚亚","拉布拉多");
Dog meimeiDog=new Dog("美美","雪纳瑞");
Dog feifeiDog=new Dog("菲菲","拉布拉多");
//创建ArrayList集合对象把4个狗狗对象放入其中
List dogs=new ArrayList();
dogs.add(ououDog);
dogs.add(yayaDog);
dogs.add(meimeiDog);
dogs.add(feifeiDog);
//遍历显示每个狗狗的信息
for(int i=0;i<dogs.size();i++)
{
Dog dog=(Dog)dogs.get(i);//List接口的add(Object o)方法的参数类型时Object,所以要进行强转!
System.out.println(dog.getName()+dog.getStrain());
}
//输出狗狗的数量
System.out.print(dogs.size());
//删除第一个狗狗和feifei狗狗
dogs.remove(0);
dogs.remove(feifeiDog);
//输出删除后还剩的狗狗数量
System.out.println(dogs.size());
//判断集合中是否包含指定狗狗信息
if(dogs.contains(meimeiDog))
System.out.println("集合中包含美美的信息");
else
System.out.println("集合中不包含美美的信息");
}
}
2.List接口中常用的方法: