List源码读书笔记
2018-03-21 13:02
323 查看
List源码读书笔记
感觉自己java基础很不好很多东西只是了解,所以现在多看看源码望各位大佬给出指导。感谢感谢!1.8版本新加的方法,打算等学习了1.8的新特性后再看
看下List的方法和关系结构
因为List接口继承了Collection接口,所以Collection接口中的方法就跳过不看了。
Collection介绍:http://blog.csdn.net/u013164931/article/details/79631770
default void sort(Comparator<? super E> c) { Object[] a = this.toArray(); Arrays.sort(a, (Comparator) c); ListIterator<E> i = this.listIterator(); for (Object e : a) { i.next(); i.set((E) e); } }
现将集合对象转换为包含所有元素的对象数组,使用附带的 Comparator排序此列表来比较元素,再用ListIterator遍历集合,按排序好的对象数组元素,替换掉集合相应位置的元素。
E get(int index);
获取第index位置上的元素。
E set(int index, E element);
用指定的元素(可选操作)替换此列表中指定位置的元素。
void add(int index, E element);
将指定的元素插入此列表中的指定位置(可选操作)。 将当前位于该位置的元素(如果有)和任何后续元素(向其索引添加一个)移动。
E remove(int index);
删除指定位置的元素。
int indexOf(Object o);
回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。
int lastIndexOf(Object o);
返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。
ListIterator<E> listIterator();
返回列表中的列表迭代器。
ListIterator<E> listIterator(int index)
从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。
List<E> subList(int fromIndex, int toIndex)
返回列表中指定的fromIndex (含)和toIndex之间的部分视图。 (如果fromIndex和toIndex相等,返回的列表为空。)
default Spliterator<E> spliterator() { return Spliterators.spliterator(this, Spliterator.ORDERED); } default void replaceAll(UnaryOperator<E> operator) { Objects.requireNonNull(operator); final ListIterator<E> li = this.listIterator(); while (li.hasNext()) { li.set(operator.apply(li.next())); } }
这两个方法略过 1.8版本
相关文章推荐
- STL 源码剖析读书笔记三:序列式容器之 vector、list
- Android源码设计模式解析与实战(Based on Lollipop) 第一章 读书笔记
- LinkedList源码分析:双向循环链表实现
- LinledList源码解析
- Redis源码阅读笔记—adlist
- ArrayList LinkedList源码解析
- STL源码系列--List::sort算法解析
- Java集合框架--LinkedList源码解析(JDK1.7)
- redis-skipList 源码解析
- IO流_文件过滤器改进输出指定目录下指定后缀名的文件名称案例、带文件名称过滤器的list()方法的源码
- Android版数据结构与算法(三):基于链表的实现LinkedList源码彻底分析
- freertos taskTCB xList xListItem xQUEUE 结构体 源码分析
- LinkedList源码解析(基于JDK1.7)
- Android源码分析:HeaderViewListAdapter
- Java遍历时删除List、Set、Map中的元素(源码分析)
- LinkedList的实现源码分析
- JAVA源码分享:基于Apache POI,将List<T>内封装的实体类信息写出到磁盘Excel文件(20170615)
- JDK源码阅读——LinkedList
- nginx源码分析—链表结构ngx_list_t
- 郭克华手机编程教学视频----我的练习源码(8)List的事件监听