一:概念
List是Java集合Collection中的一个接口,一般用ArrayList类和LinkedList类去实现这个接口。
Collection集合还有其他接口:Map,Set(在我的另一篇博客)
二:LIST的使用
List的常用方法
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的代码示例
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; 错误的类型
}
}
原文地址:https://blog.51cto.com/14232658/2474766
时间: 2024-10-29 04:09:54