第一次更新时间:2024.6.26
集合概述
Java中的集合就像一个容器,专门用来存储Java对象(实际上是对象的引用,但习惯称为对象),这些对象可以是任意的数据类型,并且长度可变。其中,这些集合类都位于java.util包中,在使用时一定要注意导包的问题,否则就会出现异常。
集合按照其存储结构可以分为两大类,即单列集合Collection和双列集合Map,这两种集合的特点具体如下:
Collection:单列集合的根接口,用于存储一系列符合某种规则的元素。Collection集合有两个重要的子接口,分别是List和Set。其中,List集合的特点是元素有序、可重复;Set集合的特点是元素无序并且不可重复。List接口的主要实现类有ArrayList和LinkedList;Set接口的主要实现类有HashSet和TreeSet。
Map:双列集合的根接口,用于存储具有键(Key)、值(Values)映射关系的元素。Map集合中每个元素都包含一对键值,并且Key是唯一的,在使用Map集合时可以通过制定的Key找到对应的Value。例如根据一个学生的学号就可以找到对应的学生。Map接口的主要实现类有HashMap和TreeMap。
集合体系核心结构
虚线框里都是接口类型,实线框里填写的都是具体的实现类。
集合接口
Java集合类主要由两个根接口Collection和Map派生出来的。
Collection派生出了三个子接口:
1)List
List代表了有序可重复集合,可直接根据元素的索引来访问
2)Set
Set代表无序不可重复集合,只能根据元素本身来访问
3)Queue
Queue是队列集合
Map接口派生:
Map代表的是存储key-value对的集合,可根据元素的key来访问value。
因此Java集合大致也可分成List、Set、Queue、Map四种接口体系。
泛型标记符
- E - Element (在集合中使用,因为集合中存放的是元素)
- T - Type(Java 类)
- K - Key(键)
- V - Value(值)
- N - Number(数值类型)
- ? - 表示不确定的 java 类型
集合类
ArrayList
常用方法
方法 | 作用 | 返回值类型 |
add(E e) | 将指定的元素添加到此列表的尾部。 | boolean |
add(int index, E element) | 将指定的元素插入此列表中的指定位置。 | void |
addAll(Collection c) | 按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。 | boolean |
addAll(int index, Collection c) | 从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。 | boolean |
clear() | 移除此列表中的所有元素。 | void |
get(int index) | 返回此列表中指定位置上的元素。 | E |
indexOf(Object o) | 返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。 | int |
lastIndexOf(Object o) | 返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1。 | int |
isEmpty() | 如果此列表中没有元素,则返回 true | boolean |
remove(int index) | 移除此列表中指定位置上的元素。 | E |
remove(Object o) | 移除此列表中首次出现的指定元素(如果存在)。 | boolean |
removeRange(int fromIndex, int toIndex) | 移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的所有元素。 | protected void |
set(int index, E element) | 用指定的元素替代此列表中指定位置上的元素。 | E |
size() | 返回此列表中的元素数。 | int |
PS:本文部分内容引用了网络上他人的文章内容,加以自身理解自行整理而成,仅为分享学习经验,如有侵权请私信我,侵权必删。