1、概述
List集合包括List接口以及List接口的所有实现类。List集合中的元素允许重复,各元素的顺序就是对象插入的顺序。类似Java数组,用户可通过使用索引(元素在集合的位置)来访问元素在集合中的位置。
2、List接口定义了如下两个重要方法:
a、get(int index):获得指定索引位置的元素。 //与数组相同,集合的索引也是从0开始。
b、set(int index, Object obj):将集合中指定索引位置的对象修改为指定的对象。
3、List接口的常用实现类有ArrayList与LinkedList
a、ArrayList类实现了可变的数组,允许保存所有元素,包括null,并可以根据索引位置对集合进行快速地随机访问;缺点是想指定额索引位置插入对象或删除对象的速度较慢。
b、LinkedList类采用链表结构保存对象。这种结构的有点事便于向集合中插入和删除对象,需要向集合中插入、删除对象时,使用LinkedList类实现的List集合的效率较高;但对于随机访问集合中的对象,使用LinkedList类实现List集合的效率较低。
1 package com.lzw; 2 3 import java.util.*; 4 5 public class Gather { 6 public static void main(String[] args) { 7 List<String> list = new ArrayList<>(); 8 list.add("a"); 9 list.add("b"); 10 list.add("c"); 11 list.add("d"); 12 list.add("e"); 13 14 int i = (int)(Math.random()*list.size()); //获取0~2之间的随机数 15 System.out.println("随机获取数组中的元素:" + list.get(i)); 16 17 list.remove(2); //将指定索引位置的元素从集合中移除 18 System.out.println("将索引是‘2’的元素从数组移除后,数组中的元素是:"); 19 20 for(int j=0;j<list.size();j++) { 21 System.out.println(list.get(j)); 22 } 23 } 24 }