1.定义
List是Collection的子接口,元素有序并且可以重复,表示线性表。
2.方法
add(int index,Object e):在指定索引(和数组下标类似,为0,1,2....)放入元素
addAll(int index,Collection e):在指定索引处放入集合
Object get(int index):获取指定索引的元素
int indexOf(Object o):获取指定元素在集合中的索引(若元素重复,返回元素第一次所在的索引),判定方法为equals(),需要重写equals方法
int lastIndexOf(Object o):返回此列表中最后出现的元素的索引
Object remove(int index):删除指定索引对应的元素
Object set(int index,Object e):替换指定索引的元素
List subList(int fromIndex, int toIndex):返回索引为[form,to)的元素集合
3.常用实现类
ArrayList:它为元素提供了下标,可以看作长度可变的数组,为顺序线性表。
LinkedList:通过代价较低的在List中间进行插入和删除操作,提供了优化的顺序访问,但是在随即访问方面相对比较慢,为链表线性表。
4.实例
1 import static org.junit.Assert.*; 2 import java.util.ArrayList; 3 import java.util.Arrays; 4 import java.util.Collection; 5 import java.util.Iterator; 6 import java.util.List; 7 import org.junit.Test; 8 import day8.Customer; 9 //可以看作长度可变的数组,元素可以重复 10 public class TestArrayList { 11 12 //遍历操作 13 public void iteratecollection(Collection c){ 14 Iterator it=c.iterator(); 15 while(it.hasNext()){ 16 Object obj=it.next(); 17 System.out.println(obj); 18 } 19 } 20 //索引:索引和数组下标类似,为0,1,2..... 21 @Test 22 public void tesList(){ 23 List l1=new ArrayList(); 24 l1.add(new Customer(1,"AA")); 25 l1.add(new Customer(2,"BB")); 26 l1.add(new Customer(3,"CC")); 27 l1.add(new Customer(4,"DD")); 28 iteratecollection(l1); 29 System.out.println(); 30 31 //增强for循环遍历操作 32 /*for(Object l :l1){ 33 System.out.println(l); 34 }*/ 35 /*//add(int index,Object e)在指定索引处(和数组类似,索引为0,1,2....)放入元素 36 l1.add(3,new Customer(5,"EE")); 37 iteratecollection(l1); 38 System.out.println();*/ 39 //addAll(int index,Collection e)在指定索引放入集合 40 l1.addAll(3,Arrays.asList(new Customer(5,"EE"),new Customer(6,"FF"))); 41 iteratecollection(l1); 42 System.out.println(); 43 //Object get(int index)获取指定索引的元素 44 Object obj=l1.get(0); 45 System.out.println(obj); 46 47 // Customer cc=(Customer) l1.get(1); //类型的强制转换 48 // System.out.println(cc); 49 System.out.println(); 50 //int indexOf(Object o)获取指定元素在集合中的索引(若元素重复,返回元素第一次所在的索引),判定方法为equals(),需要重写equals方法 51 int index=l1.indexOf(new Customer(3,"CC")); 52 System.out.println(index); 53 System.out.println(); 54 //int lastIndexOf(Object o)返回此列表中最后出现的指定元素的索引 55 l1.add(new Customer(3,"CC")); 56 int lastindex=l1.lastIndexOf(new Customer(3,"CC")); 57 System.out.println(lastindex); 58 //Object remove(int index)删除指定索引对应的元素 59 l1.remove(2); 60 //Object set(int index,Object e)替换指定索引的元素 61 l1.set(2, new Customer(3,"LL")); 62 iteratecollection(l1); 63 System.out.println(); 64 //List subList(int fromIndex, int toIndex)返回索引为[form,to)的元素集合 65 List sublist=l1.subList(1, 3); 66 System.out.println(sublist); 67 } 68 }
涉及的完整代码:http://www.cnblogs.com/jfl-xx/p/4707643.html