集合大总结
2024-04-24 12:42:44 0 举报
AI智能生成
集合的大总结
作者其他创作
大纲/内容
boolean addAll(Collection<? extends E> c) :将另一个集合元素添加到当前集合中 (集合合并)
void clear():清除集合中所有的元素
boolean contains(Object o) :判断当前集合中是否包含指定的元素
boolean isEmpty() : 判断当前集合中是否有元素->判断集合是否为空
boolean remove(Object o):将指定的元素从集合中删除
int size() :返回集合中的元素数。
常用方法
Collection
1.顶级接口
a.元素有序
b.元素可重复
c.有索引
d.线程不安全
1.特点
数组
2.数据结构
E get(int index) -> 根据索引获取元素
int size() -> 获取集合元素个数
3.常用方法
Arrays.copyOf
1.5倍
c.扩容
4.底层实现原理
ArrayList
双向链表
public void addFirst(E e):将指定元素插入此列表的开头。
public void addLast(E e):将指定元素添加到此列表的结尾。
public E getFirst():返回此列表的第一个元素。
public E getLast():返回此列表的最后一个元素。
public E removeFirst():移除并返回此列表的第一个元素。
public E removeLast():移除并返回此列表的最后一个元素。
public E pop():从此列表所表示的堆栈处弹出一个元素。
public void push(E e):将元素推入此列表所表示的堆栈。
public boolean isEmpty():如果列表不包含元素,则返回true。
3.特有方法
LinkedList
d.线程安全
a.一new底层会创建一个长度为10的数组
b.扩容
2倍
c.扩容多少倍
2.底层原理
Vector
List
a.无序
b.无索引
c.元素唯一
哈希表
参考Collection
3.方法
4.去重复过程
重写hashCode和equals方法
5.存储自定义对象去重复
HashSet
是HashSet的子类
1.概述
a.有序
2.特点
哈希表+链表
3.数据结构
4.方法
LinkedHashSet
a.对元素进行排序
红黑树
对元素进行自然排序
TreeSet()
指定排序规则
TreeSet(比较器)
3.构造
TreeSet
Set
2.子接口
单列集合
Map
b.无序
c.无索引
e.能存储null键null值
存储键值对
根据key获取value
get(key)
根据key删除键值对
remove(key)
判断是否包含指定的key
containsKey(key)
获取所有的value
values()
获取所有的key放到set集合中
keySet()
entrySet()
和HashSet去重过程一样
4.如何保证key唯一
自定义对象重写hashCode和equals方法
5.如何保证key为自定义对象唯一
HashMap
b.有序
3.其他和HashMap一样
LinkedHashMap extends HashMap
a.对key进行排序
TreeMap()
TreeMap(比较器)
TreeMap
e.不能存储null键null值
参考HashMap
Hashtable
f.key和value默认必须是String
String getProperty(String key) -> 根据key获取value
void load(InputStream inStream) -> 将流中的数据加载到Properties集合中 -> IO流再讲
Properties
2.实现类
双列集合
Iterator接口
Iterator iterator()
Collection中的方法
2.获取
判断有没有下一个元素
hasNext()
获取下一个元素
next()
不要在迭代的过程中修改集合长度
a.注意
b.原因
4.并发修改异常
迭代器
for(元素数据类型 变量名:集合名或者数组名){13; 变量名代表的就是元素13;}
1.格式
集合名或者数组名.for
2.快捷键
3.注意
增强for
public class 类名<E>{}
new对象时确定类型
a.含有泛型的类
修饰符 <E> 返回值类型 方法名(E e){}
调用的时候确定类型
b.含有泛型的方法
public interface 接口名<E>{}
实现类时候确定类型
new实现类对象的时候确定类型
c.含有泛型的接口
?接收的类型为后面类的本类以及子类
<? extends 类>
上限
?接收的类型为后面类的本类以及父类
<? super 类>
下限
d.泛型高级使用
泛型
先进后出
栈
先进先出
队列
查询快
增删慢
查询慢
增删快
链表
二叉树
数据结构
static void shuffle(List<?> list) -> 将集合中的元素顺序打乱
static <T> void sort(List<T> list) ->将集合中的元素按照默认规则排序->ASCII
集合工具类
其他
集合大总结
0 条评论
回复 删除
下一页