(一)Collection
1、如果实现 --able 名称的接口则证明该类或其子类有该功能
(1)实现Iterable接口代表具有迭代功能
(2)实现Cloneable接口代表具有克隆功能
(3)实现Serializable接口代表具有序列化的功能
2、Collection方法的练习
方法摘要
(1) boolean add(E e)
确保此 collection 包含指定的元素(可选操作)。
(2) boolean addAll(Collection<? extends E> c)
将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。
(3) void clear()
移除此 collection 中的所有元素(可选操作)。
(4)boolean contains(Object o)
如果此 collection 包含指定的元素,则返回 true。
(5)boolean containsAll(Collection<?> c)
如果此 collection 包含指定 collection 中的所有元素,则返回 true。
(6)boolean equals(Object o)
比较此 collection 与指定对象是否相等。
(7)int hashCode()
返回此 collection 的哈希码值
。
(8) boolean isEmpty()
如果此 collection 不包含元素,则返回 true。
(9) Iterator iterator()
返回在此 collection 的元素上进行迭代的迭代器。
(10) boolean remove(Object o)
从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
如果存在相同的,则只删除第一个
(11) boolean removeAll(Collection<?> c)
移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。
(12) boolean retainAll(Collection<?> c)
仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。
只要调用的方法改变就返回true
(13)int size()
返回此 collection 中的元素数。
(14)Object[] toArray()
返回包含此 collection 中所有元素的数组。
T[] toArray(T[] a)
返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。
(二)List
方法:
(1) boolean add(E e)
向列表的尾部添加指定的元素(可选操作)。
(2)void add(int index, E element)
在列表的指定位置插入指定元素(可选操作)。
如果插入到数组内部不用担心会越界,此时数组会自动增长,如果插入到数组外面且超过数组的长度,就会越界
(3) boolean addAll(Collection<? extends E> c)
添加指定 collection 中的所有元素到此列表的结尾,顺序是指定 collection 的迭代器返回这些元素的顺序(可选操作)。
(4) boolean addAll(int index, Collection<? extends E> c)
将指定 collection 中的所有元素都插入到列表中的指定位置(可选操作)。
(5) void clear()
从列表中移除所有元素(可选操作)。
(6)boolean contains(Object o)
如果列表包含指定的元素,则返回 true。
(7)boolean containsAll(Collection<?> c)
如果列表包含指定 collection 的所有元素,则返回 true。
(8)boolean equals(Object o)
比较指定的对象与列表是否相等。
(9)E get(int index)
返回列表中指定位置的元素。
当超过元素个数时会越界
(7) int hashCode()
返回列表的哈希码值。
(8) int indexOf(Object o)
返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。
(9) boolean isEmpty()
如果列表不包含元素,则返回 true。
(10) Iterator iterator()
返回按适当顺序在列表的元素上进行迭代的迭代器。
(11) int lastIndexOf(Object o)
返回此列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1。
类比String类
(12)ListIterator listIterator()
返回此列表元素的列表迭代器(按适当顺序)。
注意区分,与Collection不同
(13) ListIterator listIterator(int index)
返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始。
(14) E remove(int index)
移除列表中指定位置的元素(可选操作)。
(16) boolean remove(Object o)
从此列表中移除第一次出现的指定元素(如果存在)(可选操作)。
(17) boolean removeAll(Collection<?> c)
从列表中移除指定 collection 中包含的其所有元素(可选操作)。
(18) boolean retainAll(Collection<?> c)
仅在列表中保留指定 collection 中所包含的元素(可选操作)。
(19) E set(int index, E element)
用指定元素替换列表中指定位置的元素(可选操作)。
(20) int size()
返回列表中的元素数。
(21)List subList(int fromIndex, int toIndex)
返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。
(22)Object[] toArray()
返回按适当顺序包含列表中的所有元素的数组(从第一个元素到最后一个元素)。
(23) T[] toArray(T[] a)
返回按适当顺序(从第一个元素到最后一个元素)包含列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
知识点补充
1、现在开始学的常用类,相当于数据结构
2、什么是接口?抽象方法的集合
3、ctrl + shift + t 查看源码
4、查看某一个接口的所有实现类
选中ctrl + t
5、数组里的length是属性,String里的length是方法。
注意:
1、如果自己定义的类叫ArrayList,则实例化ArrayList时需要加上包名
代码实现
public class ArrayList {
public static void main(String[] args) {
List list = new java.util.ArrayList();
}
}
2、
ArrayList继承了Cloneable但其中没有任何方法,起到的作用是标识,表示其为可以克隆的。
留了疑问,什么是可序列化?什么是可以克隆
3、ArrayList的底层是可变长的数组
java中没有动态数组
之前写学生信息管理系统时数组的增长借助了ArrayList的思想。