Java编程思想——第17章 容器深入研究 读书笔记(二)
-
King
五、List的功能方法
排除Collection已包含的方法外还增加了
boolean addAll(int index, Collection<? extends E> c);从索引位置插入参数中元素
知识兔default void replaceAll(UnaryOperator<E> operator) *1.8新增 将几何中元素替换成参数中的 举例:
List<Integer> list = new ArrayList(); list.add(1); list.add(2); list.replaceAll(a -> a + 1);//将元素更新为+1的元素
default void sort(Comparator<? super E> c) c:自定义排序规则 举例:
List<User> list = new ArrayList(); list.add(u1); list.add(u2); list.sort((o1, o2) -> { Integer age1 = o1.getAge(); Integer age2 = o2.getAge(); return age1.compareTo(age2); }); //自定义年龄排序
E get(int index); 获取索引位置的元素
E set(int index, E element); 将元素放入索引位置
void add(int index, E element); 在索引位置增加元素
E remove(int index); 移除索引位置的元素
int indexOf(Object o); 返回元素第一次出现时的索引位置
int lastIndexOf(Object o); 返回元素最后一次出现时的索引位置
ListIterator<E> listIterator(); 迭代器
ListIterator<E> listIterator(int index); 从索引位置迭代
List<E> subList(int fromIndex, int toIndex); 按照索引开始结束位置截取
------LinkLIst独有的方法-------
public void addFirst(E e) 在首位增加
public void addLast(E e) 在尾部增加
public E removeFirst(E e) 移除首位
public E removeLast(E e) 移除尾部
这四个方法的合理利用可以利用LinkList实现栈(先进后出)和队列(先进先出)