List包括:List接口以及List接口的所有实现类。
List接口实现了Collection接口,因此List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法,如表所示。
List常用的实现类有ArrayList与 LinkList,在使用List集合的时候,通常是声明List类型,实例化的时候根据情况的需要,实例化成ArrayList或者LinkList。
例:List<String> l=new ArrayList<String>();//利用ArrayList类实例化List集合
List<String> l2= new LinkList<String>();//利用LinkList类实例化List集合
下面主要介绍这两个类的常用方法:
add(int index,Object obj)方法和set(int index,Object obj)方法,前者是向指对象,然后后者是修改指定索引位置的对象,例如指向下面的代码:
/**
*
*/
package com.weisoft.map;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.ArrayList;
/**
* @author Administrator
*
*/
public class HashMapTest {
/**
* @author Administrator
* @see do everything
*/
public static void main(String[] args) {
String a = "A";
String b = "B";
String c = "C";
String d = "D";
ArrayList<String> list = new ArrayList<String>();
list.add(a);
list.add(b);
list.add(c);
list.add(d);
list.set(0, b);//
list.add(1,d);
Iterator<String> it = list.iterator();
while (it.hasNext()) {
System.out.print(it.next() + "<-->");
}
/**
* B<-->B<-->C<-->D<-->
* B<-->D<-->B<-->C<-->D<-->
*/
}
}
2indexOf(Object obj)方法和lastIndexOf方法的区别
在使用List集合时需要注意区分indexOf(Object obj)方法和lastIndexOf(Object obj)方法,前者是获得指定对象的最小的索引位置,而后者是获得指定对象的最大的索引位置,前提条件是指定的对象在List集合中具有重复的对象,否则如果在List集合中有且仅有一个指定的对象,则通过这两个方法获得的索引位置是相同的
for (int i=0;i<list.size();i++){
System.out.println("suoyin"+i+":"+list.get(i));//利用get(int index)方法获得指定索引位置的对象
}
System.out.println(list.indexOf(c));
System.out.println(list.lastIndexOf(c));
System.out.println(list.indexOf(b));
System.out.println(list.lastIndexOf(b));
3subList(int fromIndex, int toIndex)方法
在使用subList(int fromIndex, int toIndex)方法截取现有List集合中的部分对象生成新的List集合时,需要注意的是,新生成的集合中包含起始索引位置代表的对象,但是不包含终止索引位置代表的对象,例如执行下面的代码:
list=list.subList(1, 2);