戚权20201007
知识点:
1.集合
集合是一种比数组灵活、使用方便的接口和类,它们位于 java.util 包,称为集合框架。
1.1Iterable 接口
- Iterable 接口,凡是实现了此接口的对象都能称为 for-each-loop 的目标。
- iterator() 方法返回一个类型的迭代器。
1.2java.util.Collection
-
Collection 接口继承了 Iterable 接口。也就意味着,实现了Collection 接口的类也间接实现了 Iterable 接口,也就是说它们都能作为 for-each-loop 的循环对象。
Collection 是集合层次结构中的根接口。集合表示一组对象,称为其元素。有些集合允许重复元素,有些则不允许。 有些是有序的,有些是无序的
-
抽象方法
- add(E e) boolean 添加元素
- addAll(Collection<? extends E> c) boolean 将集合中的所有元素添加此集合中
- clear() void 清除所有元素
- contains(Object o) boolean 集合中是否包含此元素
- containsAll(Collection<?> c) boolean 集合中是否包含 c 集合中的所有元素
- isEmpty() boolean 集合中是否有元素,如果没有返回 true
- iterator() Iterator
继承自 Iterable 接口,返回集合的迭代器 - remove(Object o) boolean 删除集合中的某个元素
- removeAll(Collection<?> c) boolean 删除集合 c 中包含的所有元素
- size() int 返回此集合中的元素数
- toArray() Object[] 返回一个包含此集合中所有元素的数组
1.3 Queue
- 设计用于在处理之前保留元素的集合。 除了基本的 Collection 操作之外,队列还提供额外的插入,提取和检查操作。
- 不可以存 null
- 抽象方法
- peek() E 检索不删除此队列的头,如果此队列为空,则返回 null ,如果不为空返回队列的头
- poll() E 检索并删除此队列的头,如果此队列为空,则返回 null
- remove() E 检索并删除此队列的头。 此方法与 poll 不同之处在于,如果此队列为空,它将抛出异常。
1.4Set
- 不包含重复元素的集合。
- 抽象方法大多是继承自 Collection 的,所以不做单独说明。
- 常用子类, HashSet 和 TreeSet
1.5List
- 有序集合(也称为序列 )。 该集合用户可以精确控制列表中每个元素的插入位置。 用户可以通过整数索引(列表中的位置)访问元素,并搜索列表中的元素
- List 通常允许重复的元素、允许 null 元素
1.6 Vector
- Vector 类实现了可扩展的对象数组。 像数组一样,它包含可以使用整数索引访问的组件。 但是,Vector的大小可以变化。
- Vector 是同步的,是线程安全的。
- Vector 继承了 AbstractList 类,实现了 List 接口
- 默认大小是10,当容量不足时,默认扩容方式是按倍增长
- 子类, Stack
1.7Stack
- Stack 类代表后进先出(LIFO)堆栈的对象, Stack 继承自 Vector 所以它有所有 Vector 中的方法。
2.List集合
- List 是一个有序集合。可以存储一组不唯一、有序的对象、可以存 null 。
- List 在 JDK 9 中新增 of() 方法,作用是返回一个 List 对象。 of(E...e) 可以接受传参,但是不能传 null 。否则会抛出 NullPointerException 。
3.ArrayList
- ArrayList 是 AbstractList 类的子类,同时实现了 List 接口。
- ArrayList 不是同步的,也就是说是非线程安全的。
- ArrayList 内部是使用数组存储数据,也就是说在内存中开辟一个连续的空间。是一个可变的数组,可以向 ArrayList 中添加不同类型数据,这些数据都将转换 Object 类型存储。
- 初始化容量是 10
- 存储数据的对象是 Object[] elementData
- 当容量不足时,扩容1.5倍
- ArrayList 中的方法中大部分方法都是实现自 List 接口。
注意: contains 方法在判断对象时,对象的类中要重写 equals 方法。Arrays.asList() 方法返回一个只读集合
总结:
今天晚上把老师安排的ArrayList作业完成了,虽然挺多的,但是做完之后收获很多.
近期评论