List接口简介
List接口特征:
(1)数据存储可重复。
(2)有序,添加顺序和保存顺序一致。
--| ArrayList<E> 可变长数组
--| LinkedList<E> 双向链表
--| Vector<E> 线程安全的可变长数组
List常用方法
增:
boolean add(E e); List 接口继承Collection接口 add方法,使用操作和Collection一致,并且这 里采用的添加方式是【尾插法】
boolean add(int index, E e); List接口【特有方法】,在指定位置,添加指定元素。
boolean addAll(Collection<? extends E> c); List接口继承Collection接口 addAll方法,使用操作和Collection一致,并且这里采用的添加方式是【尾插法】
boolean addAll(int index, Collection<? extends E> c); List接口【特有方法】,在指定下标位置,添加另一个集合中所有内容
删
E remove(int index); List接口【特有方法】,获取指定下标位置的元素。
boolean remove(Object obj); List接口继承Collection接口方法。删除集合中的指定元素
boolean removeAll(Collection<?> c); List接口继承Collection接口方法。删除当前集合中和参数集合重复元素
boolean retainAll(Collection<?> c); List接口继承Collection接口方法。保留当前集合中和参数集合重复元素
clear(); List接口继承Collection接口方法。清空整个集合中的所有元素
改
E set(int index, E e); List接口【特有方法】,使用指定元素替代指定下标的元素,返回值是被替换的元素
查
int size(); List接口继承Collection接口方法。获取集合中有效元素个数
boolean isEmpty(); List接口继承Collection接口方法。判断当前集合是否为空
boolean contains(Object obj); List接口继承Collection接口方法。判断指定元素是否包含在当前集合中
boolean containsAll(Collection<?> c); List接口继承Collection接口方法。判断参数集合是不是当前集合在子集合
Object[] toArray(); List接口继承Collection接口方法。获取当前集合中所有元素Object数组
E get(int index); List接口【特有方法】。获取指定下标对应的元素
List<E> subList(int fromIndex, int toIndex); List接口【特有方法】。获取当前集合指定子集合,从fromIndex开始,到toIndex结束。
fromIndex <= 范围 <toIndex
int indexOf(Object obj); List接口【特有方法】。获取指定元素在集合中第一次出现位置
int lastIndexOf(Object obj); List接口【特有方法】。获取指定元素在集合中最后一次出现的位置
Eg: List接口常用方法演示
import java.util.ArrayList;
import java.util.List;
public class Demo1 {
public static void main(String[] args) {
/*
* List<E>是一个接口,没有自己的类对象,这里使用List接口的
* 实现类ArrayList来演示代码。
*/
List<String> list = new ArrayList<String>();
/*
* 添加方法演示
*/
list.add("浓郁咖啡摩卡");
list.add("浓郁咖啡拿铁");
list.add("焦糖玛奇朵");
list.add("摩卡可可碎星冰乐");
list.add("可可卡布奇诺");
System.out.println(list);
list.add(3, "美式咖啡");
System.out.println(list);
List<String> list2 = new ArrayList<String>();
list2.add("肥宅快乐水");
list2.add("芬达");
list2.add("雪碧");
list2.add("冰峰");
list.addAll(4, list2);
System.out.println(list);
/*
* 删除方法
*/
String remove = list.remove(1);
System.out.println(remove);
System.out.println(list);
// 条件过滤,这里使用了JDK1.8 新特征 Lambda表达式和函数式接口 【后期知识点】
list.removeIf((str) -> str.length() > 4);
System.out.println(list);
}
}