List接口
List接口作为Collection的子接口,主要的实现类有ArrayList、LinkedList和Vector。
ArrayList:底层使用数组,查询效率高,线程不安全
LinkedList:底层使用双向链表,增删效率高,线程不安全
Vector:底层使用数组,加入锁,线程安全
List的特点为有序、可重复。有序,即有索引,可通过索引查找到其中元素;可重复,即可加入.equals()返回为true的重复元素。
常用方法:
List list = new ArrayList();
list.add("玛卡巴卡"); //加入元素
list.add(0,"依古比古");
list.remove(0); //删除元素
list.remove("玛卡巴卡");
//若存在多个“玛卡巴卡”元素,则删除第一个找到的“玛卡巴卡”元素。
list.set(0,"飞飞鱼"); //将索引处元素替换为。。。
System.out.println(list.get(0));//返回索引处元素
List list02 = new ArrayList();
list02.add("叮叮车");
list02.add("玛卡巴卡");
System.out.println(list.containsAll(list02));
//list是否包含全部list2中的元素
System.out.println(list.isEmpty());//是否为空
list.addAll(list02); //list02的全部加入list中
list.removeAll(list02); //list02的全部从list中删除
list.retainAll(list02); //取list和list02的交集
System.out.println(list.indexOf("玛卡"));
//查找索引,不存在返回-1
System.out.println(list.indexOf("玛卡巴卡"));//从前向后找
System.out.println(list.lastIndexOf("玛卡巴卡"));//从后向前
Object[] arr = list.toArray();//返回Object[]数组