一. 集合
- Collection
- List接口
- ArrayList
- LinkedList
- Vector
- Set接口
- HashSet
- TreeSet
- LinkedHashSet
- List接口
Collection接口是集合框架的祖宗
Collections是操作集合的工具类
不同的集合的数据结构各不相同,从而导致了对集合进行操作的效率性能也各不相同。
List:有序且可重复
Set:无序且不可重复
集合中只能存储引用数据类型,不能存储基本数据类型
二. ArrayList
2.1 创建
格式:
ArrayList <数据类型> 集合名 = new ArrayList<>(); 数据类型>
2.2 常用方法
1、add(e):将e添加到集合的末尾,返回是否添加成功的布尔值,list的add功能只可能返回true
2、add(index,e):将e添加到集合的指定位置
3、remove(index):删除指定位置上的元素,返回被删除的元素
4、remove(obj):删除第一个obj元素,返回是否成功删除的布尔值
5、set(indexl,e):将e替换index位置上的元素,并返回被替换的元素
6、get(index):获取指定位置上的元素
7、size():获取集合的长度
8、isEmpty():判断集合是否为空
9、contains(e):判断是否存在指定元素
10、indexOf(e):获取指定元素的位置
11、lastIndexOf():获取指定元素的位置
12、a.addAll(b):将b集合添加到a集合的末尾
13、a.addAll(index,b):将b集合添加到a集合的指定位置
14、a.containsAll(b):判断a集合中是否包含b集合中的所有元素
15、a.retainAll(b):将a、b集合的交集赋值给a集合,并返回a集合是否被改动了
16、a.removeAll(b):从a集合中删除a、b集合的交集元素
2.3 集合的嵌套
2.4 集合作为参数和返回类型
三. LinkedList
LinkedList和ArrayList都是List的实现类,都具有相同的对数据进行增删改查的功能。
而LinkedList多了一些功能,例如:push()、pop()、poll()、peek()等。
因为LinkedList和ArrayList底层的数据结构不同,
ArrayList的数据结构是数组,LinkedList的数据结构是链表。
ArrayList:查找快,增删慢
LinkedList:增删快,查找慢