List接口的实现类常用的有ArrayList和LinkedList。
1、ArrayList类
该类实现了可变的数组,允许所有元素,包括null。可以根据索引位置对集合进行快速的随机访问。缺点是向指定的索引位置插入对象或删除对象的速度较慢。语法格式如下:
List<String> list = new ArrayList<String>();
2、LinkedList类
该类采用链表结构保存对象。这种结构的优点是便于向集合中插入和删除对象,经常需要向集合中插入、删除对象时,使用LinkedList类实现的List集合的效率较好;但对于随机访问集合中的对象,使用LinkedList类实现List集合的效率较慢。语法格式如下:
List<String> list2 = new LinkedList<String>();
使用List集合时通常声明为List类型,可通过不同的实现类来实例化集合。
例1、分别通过ArrayList、LinkedList类实例化List集合。
List list = new ArrayList();
List list2 = new LinkedList();
例2、在项目中创建Gather类,在主方法中创建集合对象,通过Math类的random()方法随机获取集合中的某个元素,然后移除数组中索引位置为2的元素,最后遍历数组。
package test;import java.util.*;public class Main{public static void main(String []args){List list = new ArrayList();int i = (int)(Math.random()*(list.size()-1));//i = 0list.add("a");list.add("b");list.add("c");System.out.println("随机获取数组中的元素:"+list.get(i));list.remove(2);System.out.println("将索引是‘2’的元素从数组移除后,数组中的元素是:");for(int j = 0;j < list.size();j++){System.out.print(list.get(j)+" ");}}
}