1 List
1.1 List的特点
- List接口继承自Collection接口
- List是有序集合,存取顺序一致
- 允许存储重复元素
1.2 List的特有方法【带索引】
- public void add(int index, E element);
- public E get(int index)
- public E remove(int index):返回移除元素
- public E set(int index, E element):替换指定位置的元素,返回更新前元素
- 遍历List:for+get+index(iterator、foreach非特有)
使用示例
public static void main(String[] args) {
List<String> list = new ArrayList<>();
//1.
list.add("a");
list.add("b");
list.add("b");//可重复
list.add("d");
System.out.println(list);//[a, b, b, d]重写了toString直接打印列表 而不是地址
//2.
list.remove(2);
System.out.println(list);//[a, b, d]
//3.
String s = list.get(1);
System.out.println(s);//b
//4.
String result = list.set(2, "c");
System.out.println(result);//d
System.out.println(list);//[a, b, c]
}
1.3 List的实现类
ArrayList:数组实现,查询快,增删慢
LinkedList:链表实现,查询慢,增删快
LinkedList特有方法:不能用多态
- addFirst(E, e) getFirst removeFirst
- addLast(E, e) getLast removeLast
- push(E e)
- pop()
使用示例
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("b");
list.add("c");
System.out.println(list);//[b, c]
list.addFirst("a");
System.out.println(list);//[a, b, c]
list.addLast("d");
System.out.println(list);//[a, b, c, d]
list.push("1");//==addFirst
System.out.println(list);//[1, a, b, c, d]
list.pop();//==removeFirst
System.out