java集合框架

这里写图片描述

Collection

Collection是java集合类的一个基本接口。其常用子接口包括List,Queue,Set。
1、List的常用实现类包括:ArrayList, LinkedList, Stack, Vector(已弃用)
|—Vector:数据结构是数组,且数组是可变长度的,线程同步的。
|—ArrayList:数据结构是数组,且数组是可变长度的,线程不同步的。优点是查询速度快,缺点是增删速度慢
|—LinkedList:链表结构,线程不同步,优点是增删速度快,缺点是查询速度慢
2、Set的常用实现类包括:HashSet, LinkedHashSet, TreeSet
Set最大的特点是不允许重复元素
|—HashSet:不保证存取的顺序,不允许存储重复元素,比数组查 询的效率高;该集合的数据结构是哈希表结构(散列表结构)
通过哈希算法算出的哈希值相同的情况就是哈希冲突,这种情况下,做进一步的判断是否存入的数据相同(equals方法),
|—TreeSet:不保证有序,同时使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序,具体取决于使用的构造方法。(TreeSet的比较器:元素本身具备的比较功能是自然排序,如果不需要自然排序,需要自定义排序方式,而且存储的TreeSet中的元素可能不具备比较功能。在这种情况下,可以使集合具备比较功能。 )

Map<K,V>

Map是集合类的另一个基本接口。Map是双列集合,一次存一对对象,也就是键值对。要保证键的唯一性。 其常用已知实现类为 HashMap, Hashtable,LinkedHashMap, TreeMap,
|—–HashTable:数据结构是哈希表,是同步的。不允许null键和null值。
|—–HashMap:数据结构是哈希表,是不同步的。允许null键和null值。(特别注意HashMap和HashTable的区别)
|—–TreeMap:数据结构是二叉树,不同步。可以对map集合中的键进行排序。
|—–LinkedHashMap:链表+哈希表结构,不同步。可以实现有序,因为有链表。可以保证唯一

集合命名技巧: jdk1.2以后出现的集合框架中的常用子类对象,存在的规律:前缀名是数据结构名,后缀名是所属体系名

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值