学习目标
jak
1.ArrList
2.List
学习内容:
1.ArrList
boolean add(E e)
//将指定的元素追加到此列表的末尾。
void add(int index, E element)
//在此列表中的指定位置插入指定的元素。
boolean addAll(Collection<? extends E> c)
//按指定集合的Iterator返回的顺序将指定集合中的所有元素追加到此列表的末尾。
boolean addAll(int index, Collection<? extends E> c)
//将指定集合中的所有元素插入到此列表中,从指定的位置开始。
void clear()
//从列表中删除所有元素。
Object clone()
//返回此 ArrayList实例的浅拷贝。
boolean contains(Object o)
//如果此列表包含指定的元素,则返回 true 。
void ensureCapacity(int minCapacity)
//如果需要,增加此 ArrayList实例的容量,以确保它可以至少保存最小容量参数指定的元素数。
void forEach(Consumer<? super E> action)
//对 Iterable的每个元素执行给定的操作,直到所有元素都被处理或动作引发异常。
E get(int index)
//返回此列表中指定位置的元素。
int indexOf(Object o)
//返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。
boolean isEmpty()
//如果此列表不包含元素,则返回 true 。
Iterator<E> iterator()
//以正确的顺序返回该列表中的元素的迭代器。
int lastIndexOf(Object o)
//返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。
ListIterator<E> listIterator()
//返回列表中的列表迭代器(按适当的顺序)。
ListIterator<E> listIterator(int index)
//从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。
E remove(int index)
//删除该列表中指定位置的元素。
boolean remove(Object o)
//从列表中删除指定元素的第一个出现(如果存在)。
boolean removeAll(Collection<?> c)
//从此列表中删除指定集合中包含的所有元素。
boolean removeIf(Predicate<? super E> filter)
//删除满足给定谓词的此集合的所有元素。
protected void removeRange(int fromIndex, int toIndex)
//从这个列表中删除所有索引在 fromIndex (含)和 toIndex之间的元素。
void replaceAll(UnaryOperator<E> operator)
//将该列表的每个元素替换为将该运算符应用于该元素的结果。
boolean retainAll(Collection<?> c)
//仅保留此列表中包含在指定集合中的元素。
思路探讨:
add public void add(int index, E element)在此列表中的指定位置插入指定的元素。 将当前位于该位置的元素(如果有)和任何后续元素(向其索引添加一个)移动。 Specified by: add在接口 List<E> 重写: add在 AbstractList<E> 参数 index - 要插入指定元素的索引 element - 要插入的元素 异常 IndexOutOfBoundsException - 如果索引超出范围( index < 0 || index > size() ) remove public E remove(int index)删除该列表中指定位置的元素。 将任何后续元素移动到左侧(从其索引中减去一个元素)。 Specified by: remove在界面 List<E> 重写: remove在 AbstractList<E> 参数 index - 要删除的元素的索引 结果 从列表中删除的元素 异常 IndexOutOfBoundsException - 如果指数超出范围( index < 0 || index >= size() ) remove public boolean remove(Object o)从列表中删除指定元素的第一个出现(如果存在)。 如果列表不包含该元素,则它不会更改。 更正式地,删除具有最低索引i的元素,使得(o==null ? get(i)==null : o.equals(get(i))) (如果存在这样的元素)。 如果此列表包含指定的元素(或等效地,如果此列表作为调用的结果而更改),则返回true 。 Specified by: remove在接口 Collection<E> Specified by: remove在接口 List<E> 重写: remove在 AbstractCollection<E> 参数 o - 要从此列表中删除的元素(如果存在) 结果 true如果此列表包含指定的元素 clear public void clear()从列表中删除所有元素。 此呼叫返回后,列表将为空。 Specified by: clear在接口 Collection<E> Specified by: clear中的 List<E> 重写: clear在 AbstractList<E> addAll public boolean addAll(Collection<? extends E> c)按指定集合的Iterator返回的顺序将指定集合中的所有元素追加到此列表的末尾。 如果在操作进行中修改了指定的集合,则此操作的行为是未定义的。 (这意味着如果指定的集合是此列表,则此调用的行为是未定义的,并且此列表是非空的。) Specified by: addAll在界面 Collection<E> Specified by: addAll在接口 List<E> 重写: addAll在类 AbstractCollection<E> 参数 c - 包含要添加到此列表的元素的集合 结果 true如果此列表因呼叫而更改 异常 NullPointerException - 如果指定的集合为空 另请参见: AbstractCollection.add(Object) addAll public boolean addAll(int index, Collection<? extends E> c)将指定集合中的所有元素插入到此列表中,从指定的位置开始。 将当前位于该位置(如果有的话)的元素和随后的任何元素移动到右边(增加其索引)。 新元素将按照指定集合的迭代器返回的顺序显示在列表中。 Specified by: addAll中的 List<E> 重写: addAll在 AbstractList<E> 参数 index - 从中指定集合插入第一个元素的索引 c - 包含要添加到此列表的元素的集合 结果 true如果此列表因呼叫而更改 异常 IndexOutOfBoundsException - 如果指数超出范围( index < 0 || index > size() ) NullPointerException - 如果指定的集合为空 removeRange protected void removeRange(int fromIndex, int toIndex)从此列表中删除所有索引为fromIndex (含)和toIndex之间的元素。 将任何后续元素移动到左侧(减少其索引)。 此通话由(toIndex - fromIndex)元素缩短列表。 (如果是toIndex==fromIndex ,这个操作没有效果) 重写: removeRange在 AbstractList<E> 参数 fromIndex - 要删除的第一个元素的索引 toIndex - 要删除的最后一个元素后的索引 异常 IndexOutOfBoundsException - 如果 fromIndex或 toIndex超出范围( fromIndex < 0 || fromIndex >= size() || toIndex > size() || toIndex < fromIndex ) removeAll public boolean removeAll(Collection<?> c)从此列表中删除指定集合中包含的所有元素。 Specified by: removeAll在界面 Collection<E> Specified by: removeAll在接口 List<E> 重写: removeAll在 AbstractCollection<E> 参数 c - 包含要从此列表中删除的元素的集合 结果 true如果此列表因呼叫而更改 异常 ClassCastException - 如果此列表的元素的类与指定的集合不兼容( optional ) NullPointerException - 如果此列表包含空元素,并且指定的集合不允许空元素( optional ),或者如果指定的集合为空 另请参见: Collection.contains(Object) retainAll public boolean retainAll(Collection<?> c)仅保留此列表中包含在指定集合中的元素。 换句话说,从此列表中删除其中不包含在指定集合中的所有元素。 Specified by: retainAll在接口 Collection<E> Specified by: retainAll在界面 List<E> 重写: retainAll在 AbstractCollection<E> 参数 c - 包含要保留在此列表中的元素的集合 结果 true如果此列表因呼叫而更改 异常 ClassCastException - 如果此列表的元素的类与指定的集合不兼容( optional ) NullPointerException - 如果此列表包含空元素,并且指定的集合不允许空元素( optional ),或者如果指定的集合为空 另请参见: Collection.contains(Object) listIterator public ListIterator<E> listIterator(int index)从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。 指定的索引表示初始调用将返回的第一个元素为next 。 初始调用previous将返回指定索引减1的元素。 返回的列表迭代器是fail-fast 。 Specified by: listIterator在接口 List<E> 重写: listIterator在 AbstractList<E> 参数 index - 要从列表迭代器返回的第一个元素的索引(通过调用 next ) 结果 在列表中的元素(按正确顺序)的列表迭代器,从列表中的指定位置开始 异常 IndexOutOfBoundsException - 如果索引超出范围( index < 0 || index > size() )
构造方法
Constructor and Description List() 创建一个新的滚动列表。 List(int rows) 创建一个以指定数量的可见行初始化的新滚动列表。 List(int rows, boolean multipleMode) 创建一个初始化的新滚动列表,以显示指定的行数。
学习内容:
2.List
boolean add(E e) 将指定的元素追加到此列表的末尾(可选操作)。 void add(int index, E element) 将指定的元素插入此列表中的指定位置(可选操作)。 boolean addAll(Collection<? extends E> c) 按指定集合的迭代器(可选操作)返回的顺序将指定集合中的所有元素附加到此列表的末尾。 boolean addAll(int index, Collection<? extends E> c) 将指定集合中的所有元素插入到此列表中的指定位置(可选操作)。 void clear() 从此列表中删除所有元素(可选操作)。 boolean contains(Object o) 如果此列表包含指定的元素,则返回 true 。 boolean containsAll(Collection<?> c) 如果此列表包含指定 集合的所有元素,则返回true。 boolean equals(Object o) 将指定的对象与此列表进行比较以获得相等性。 E get(int index) 返回此列表中指定位置的元素。 int hashCode() 返回此列表的哈希码值。 int indexOf(Object o) 返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。 boolean isEmpty() 如果此列表不包含元素,则返回 true 。 Iterator<E> iterator() 以正确的顺序返回该列表中的元素的迭代器。 int lastIndexOf(Object o) 返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。 ListIterator<E> listIterator() 返回列表中的列表迭代器(按适当的顺序)。 ListIterator<E> listIterator(int index) 从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。 E remove(int index) 删除该列表中指定位置的元素(可选操作)。 boolean remove(Object o) 从列表中删除指定元素的第一个出现(如果存在)(可选操作)。 boolean removeAll(Collection<?> c) 从此列表中删除包含在指定集合中的所有元素(可选操作)。 default void replaceAll(UnaryOperator<E> operator) 将该列表的每个元素替换为将该运算符应用于该元素的结果。 boolean retainAll(Collection<?> c)
思路探讨:
size int size()返回此列表中的元素数。 如果此列表包含超过Integer.MAX_VALUE个元素,则返回Integer.MAX_VALUE 。 Specified by: size在接口 Collection<E> 结果 该列表中的元素数 isEmpty boolean isEmpty()如果此列表不包含元素,则返回 true 。 Specified by: isEmpty在接口 Collection<E> 结果 true如果此列表不包含元素 contains boolean contains(Object o)如果此列表包含指定的元素,则返回true 。 更正式地,返回true当且仅当该列表至少包含一个元素e使得(o==null ? e==null : o.equals(e)) 。 Specified by: contains在界面 Collection<E> 参数 o - 要在此列表中存在的元素将被测试 结果 true如果此列表包含指定的元素 异常 ClassCastException - 如果指定元素的类型与此列表不兼容( optional ) NullPointerException - 如果指定的元素为空,并且该列表不允许空元素( optional ) iterator Iterator<E> iterator()以正确的顺序返回该列表中的元素的迭代器。 Specified by: iterator在界面 Collection<E> Specified by: iterator在界面 Iterable<E> 结果 在这个列表中的元素以适当的顺序迭代 toArray Object[] toArray()以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。 返回的数组将是“安全的”,因为该列表不保留对它的引用。 (换句话说,即使这个列表被数组支持,这个方法也必须分配一个新的数组)。 因此,调用者可以自由地修改返回的数组。 此方法充当基于阵列和基于集合的API之间的桥梁。 Specified by: toArray在界面 Collection<E> 结果 一个包含该列表中所有元素的数组的数组 另请参见: Arrays.asList(Object[]) toArray <T> T[] toArray(T[] a)以正确的顺序返回一个包含此列表中所有元素的数组(从第一个到最后一个元素); 返回的数组的运行时类型是指定数组的运行时类型。 如果列表适合指定的数组,则返回其中。 否则,将为指定数组的运行时类型和此列表的大小分配一个新数组。 如果列表适用于指定的数组,其余空间(即,该数组具有比该列表更多的元素),那么紧跟该列表结束后的数组中的元素将设置为null 。 (这仅在调用者知道列表不包含任何空元素的情况下才能确定列表的长度。) 像toArray()方法一样,此方法充当基于阵列和基于集合的API之间的桥梁。 此外,该方法允许精确地控制输出阵列的运行时类型,并且在某些情况下可以用于节省分配成本。 假设x是一个已知只包含字符串的列表。 下面的代码可以被用来将该列表转储到的String一个新分配的阵列: String[] y = x.toArray(new String[0]); 请注意, toArray(new Object[0])的功能与toArray()相同 。 Specified by: toArray在界面 Collection<E> 参数类型 T - 包含集合的数组的运行时类型 参数 a - 要存储此列表的元素的数组,如果它足够大; 否则,为此目的分配相同运行时类型的新数组。 结果 一个包含此列表元素的数组 异常 ArrayStoreException - 如果指定数组的运行时类型不是此列表中每个元素的运行时类型的超类型 NullPointerException - 如果指定的数组为空 add boolean add(E e)将指定的元素追加到此列表的末尾(可选操作)。 支持此操作的列表可能会限制可能添加到此列表中的元素。 特别地,一些列表将拒绝添加null元素,而其他列表将对可能添加的元素的类型施加限制。 列表类应在其文档中明确指定可能添加哪些元素的限制。 Specified by: add在接口 Collection<E> 参数 e - 要附加到此列表的元素 结果 true (由 Collection.add(E)规定 ) 异常 UnsupportedOperationException -如果 add操作不受此列表支持 ClassCastException - 如果指定元素的类阻止将其添加到此列表中 NullPointerException - 如果指定的元素为空,并且该列表不允许空元素 IllegalArgumentException - 如果此元素的某些属性阻止将其添加到此列表 remove boolean remove(Object o)从列表中删除指定元素的第一个出现(如果存在)(可选操作)。 如果此列表不包含该元素,则它将保持不变。 更正式地,删除具有最低索引i的元素,使得(o==null ? get(i)==null : o.equals(get(i))) (如果这样的元素存在)。 如果此列表包含指定的元素(或等效地,如果此列表作为调用的结果而更改),则返回true 。 Specified by: remove在接口 Collection<E> 参数 o - 要从此列表中删除的元素(如果存在) 结果 true如果此列表包含指定的元素 异常 ClassCastException - 如果指定元素的类型与此列表不兼容( optional ) NullPointerException - 如果指定的元素为空,并且该列表不允许空元素( optional ) UnsupportedOperationException -如果 remove操作不受此列表支持 containsAll boolean containsAll(Collection<?> c)如果此列表包含指定 集合的所有元素,则返回true。 Specified by: containsAll在接口 Collection<E> 参数 c - 要在此列表中检查遏制的集合 结果 true如果此列表包含指定集合的所有元素 异常 ClassCastException - 如果指定集合中的一个或多个元素的类型与此列表不兼容( optional ) NullPointerException - 如果指定的集合包含一个或多个空元素,并且该列表不允许空元素( optional ),或者如果指定的集合为空 另请参见: contains(Object)