总结:包含集合容器的属性,和对集合里的元素进行增删改查、迭代等操作,JDK1.8之后List接口中
有添加了一个spliterator()方法,是一个分割迭代器,可以支持在不同的位置上迭代。
方法:
int size();//长度
boolean isEmpty();//是否为空
boolean contains(Object o);//是否包含该元素
Iterator iterator();得到一个迭代器
Object[] toArray();//输出为数组(数组长度与集合元素的个数相等)
T[] toArray(T[] a);//返回一个数组同上(数组长度大于或者等于集合元素,大于部分为null)
boolean add(E e);//添加一个元素
boolean remove(Object o);//删除一个元素
boolean containsAll(Collection<?> c);是否包含所传入 的集合
boolean addAll(Collection<? extends E> c);添加一个集合中的元素到集合容器中
boolean addAll(int index, Collection<? extends E> c);//从你传入的容器下标后面开始添加元素 下标从0开始
boolean removeAll(Collection<?> c);//删除与传入集合元素相等的元素,不传入则为删除所有
boolean retainAll(Collection<?> c);//删除与传入的集合容器对象不同的元素,即两个集合容器的并集
/*
1.8的特性 加入了default修饰在方法中使得接口中可以有方法的实现。
吧集合类的所有元素都追加你传入的规则,用于算术运算或者字符串追加。
注意:使用此方法需要指定数据类型,需要配合泛型一起使用,不然会使其类型默认为String的方式往后追加
接收的类型为 t->t 类型 的参数 前面的T代表当前集合的所有元素,后面的t代表你替换后的所有元素。而且两个t的类型要一致或者能自动转换
示例:
List arr=new ArrayList<>();
arr.add(15);
arr.add(23);
arr.add(3);
arr.replaceAll(t->t+1);//
System.out.println(arr);
结果[16, 24, 4]
/
default void replaceAll(UnaryOperator operator) {
Objects.requireNonNull(operator);
final Lis