分类: Java集合类图解
Collection集合特点:
1.2.1一些 collection 允许有重复的元素,而另一些则不允许
1.2.2一些 collection 是有序的,而另一些则是无序的
【有序是指与添加的顺序一致,并非是按照一定的要求来排列形成的有序,如从大到小,小到大等】
Collections
在类中还用一个和Collection功能能类似的工具类Collections:
此类完全由在 collection 上进行操作或返回 collection 的静态方法组成
比如添加数据:
Collections.addAll(Collection
ArrayList集合特点:
1.有序,允许重复(有序指跟添加顺序一致)
2.有下标,可以通过下标获取元素,以及将元素插入指定位置
3.底层使用的数据结构是数组,线程不安全
4.数组在内存地址是连续的,因此查找时快,增删速度慢查找速度快,增删速度慢
LinkedList集合特点:
1,有序,允许重复(有序指与添加顺序一致)
2,有下标,可以通过下标获取元素,以及将元素插入指定位置
3,底层使用的数据结构是链表以及堆栈结构,线程不安全
4,链表内存地址不连续,因此查找速度慢,增删速度快
HashSet特点
1.无序,不允许重复(无序指元素顺序与添加顺序不一致,每次遍历出来的位置不是恒久不变的)
2.HashSet通过调用hashCode()和equals方法来剔除重复
3.HashSet底层使用的数据结构是哈希表
4.HashSet有初始容量16,加载因子0.75.这两个参数都可以设置
TreeSet集合特点:
1.无序,不允许重复
2.底层使用的数据结构是二叉树
3.TreeSet集合一定要实现一种排序 否则就会 ClassCastException
4.有两种排序:自然排序和定制排序
HashMap集合特点:
1.无序,不允许重复(无序指元素顺序与添加顺序不一致);
2.底层数据结构是哈希表
3.HashMap内部对”键”用Set进行散列存放。所以根据”键”去取”值”的效率很高。
4.键是唯一的,值是可以重复的
5.能出现最多一个null键,任意多个null值
TreeMap特点:
1.无序,不允许重复(无序指元素顺序与添加顺序不一致)
2.TreeMap集合默认会对键进行排序,所以键必须实现自然排序和定制排序中的一种
3..底层使用的数据结构是二叉树