关于java:JAVA基础知识之ArrayList

39次阅读

共计 1847 个字符,预计需要花费 5 分钟才能阅读完成。

明天简略说下 ArrayList,底层实现为数组

transient Object[] elementData;

减少删除办法都是通过数组 copy 办法,之后再减少 size 大小

System.arraycopy(Object src, int  srcPos, Object dest, int destPos, int length)

以下为 ArrayList 的所有办法总结了下
ensureCapacity(int minCapacity) 办法,扩大 ArrayList 外部数组的空间大小
size() 办法,获取 ArrayList 的理论列表大小,而不是外部数组空间大小
isEmpty() 办法,判断 ArrayList 的理论大小是否为空
contains(Object o) 办法,判断 ArrayList 中是否存在该 Object,外部理论调用 indexOf 办法
indexOf(Object o) 办法,获取 Object 在 ArrayList 中的指针地位(第一个雷同的 Object),循环遍历所有数组挨个查找。
lastIndexOf(Object o)办法,获取 Object 在 ArrayList 中的最初一个指针地位(最初一个雷同的 Object),循环遍历所有数组挨个查找。
clone()办法,将原有 ArrayList 克隆一份给新建设的 ArrayList,然而列表外部的数组中的信息不变
toArray() 办法,将原有 ArrayList 转换为数组
toArray(T[] a) 办法,将原有 ArrayList 转换为指定类型的数组
get(int index) 办法,获取 ArrayList 中指定指针的内容
set(int index, E element) 办法,设定 ArrayList 中指定指针地位的内容
add(E e) 办法,在 ArrayList 尾部减少内容
add(int index, E element) 办法,在 ArrayList 制订指针为减少内容,下一个指针内容向后顺移,为数组新增一个空间,通过 System.arraycopy 一一复制指针前面每一个到下一个地位
remove(int index) 办法,删除在 ArrayList 指定指针的内容,通过 System.arraycopy 一一复制指针前面每一个到上一个地位,将最初一个地位设置为 null
remove(Object o)办法,删除在 ArrayList 中的第一个雷同的 Object
clear()办法,革除 ArrayList 的内容
addAll(Collection<? extends E> c) 办法,将新的列表全副减少到原有 ArrayList 的尾部
addAll(int index, Collection<? extends E> c) 办法,将新的列表全副减少到原有 ArrayList 的指定指针地位,剩下的向后顺移
removeAll(Collection<?> c) 办法,将所有的传入列表的内容从原有 ArrayList 中删除
retainAll(Collection<?> c) 办法,将所有的传入列表的内容从原有 ArrayList 中保留,其余删除
listIterator(int index) 办法,在指定指针地位开始创立 ListIterator
listIterator()办法,在头开始创立 ListIterator
iterator()办法,在结尾穿件 Iterator
subList(int fromIndex, int toIndex)办法,从开始指针到完结指针创立一个新的 SubList,理论不是 ArrayList,而是将 SubList 的开始指针指向 ArrayList 的 fromIndex 地位,SubList 的完结指针指向 ArrayList 的 toIndex 地位。

foreach 办法,JDK1.8 新增的循环获取 ArrayList 的值

arrayList.forEach(x -> System.out.println(x));

removeIf 办法,JDK1.8 新增通过 lamada 表达式删除合乎规定的项

arrayList.removeIf(x -> x.equals("1")|| x.equals("2"));

replaceAll 办法,通过 lamada 表达式替换合乎规定的项

arrayList.replaceAll(x->x.equals("3")?"三":x);

ArrayListSpliterator
将原有的 ArrayList 依照指针指向的起始 index 和完结 index 来拆分成新的 ArrayList(理论类型为 ArrayListSpliterator),但不可批改。

正文完
 0