一:概念
List是Java集合Collection中的一个接口,通常用ArrayList类和LinkedList类去实现这个接口。
Collection集合还有其余接口:Map,Set(在个人另外一篇博客)
二:LIST的使用
List的经常使用方法java
boolean add(E e) //尾插 e void add(int index, E element) //将 e 插入到 index 位置 boolean addAll(Collection<? extends E> c) //尾插 c 中的元素 E remove(int index) //删除 index 位置元素 boolean remove(Object o) // 删除遇到的第一个 o E get(int index) //获取下标 index 位置元素 E set(int index, E element) //将下标 index 位置元素设置element void clear() //清空 boolean contains(Object o) //判断 o 是否在线性表中 int indexOf(Object o) //返回第一个 o 所在下标 int lastIndexOf(Object o) //返回最后一个 o 的下标 List<E> subList(int fromIndex, int toIndex) //截取部分 list
ArrayList() 的经常使用方法数组
ArrayList() //无参构造 ArrayList(Collection<? extends E> c) //利用其余 Collection ArrayList ArrayList(int initialCapacity) //指定顺序表初始容量
LinkedList() 的经常使用方法LinkedList() //无参构造
三:List的代码示例ide
import java.util.List; import java.util.ArrayList import java.util.LinkedList; public class ListDemo { public static void main(String[] args) { List<String> courses = new ArrayList<>(); courses.add("C 语言"); courses.add("Java SE"); courses.add("Java Web"); courses.add("Java EE"); // 和数组同样,容许添加剧复元素 courses.add("C 语言"); // 按照添加顺序打印 System.out.println(courses); // 相似数组下标的方式访问 System.out.println(courses.get(0)); System.out.println(courses); courses.set(0, "计算机基础"); System.out.println(courses); // 截取部分 [1, 3) List<String> subCourses = courses.subList(1, 3); System.out.println(subCourses); // 从新构造 List<String> courses2 = new ArrayList<>(courses); System.out.println(courses2); List<String> courses3 = new LinkedList<>(courses); System.out.println(courses3); // 引用的转换 ArrayList<String> courses4 = (ArrayList<String>)courses2; System.out.println(courses4); // LinkedList<String> c = (LinkedList<String>)course2; 错误的类型 LinkedList<String> courses5 = (LinkedList<String>)courses3; System.out.println(courses5); // ArrayList<String> c = (ArrayList<String>)course3; 错误的类型 } }