java集合概述

来源:互联网 发布:免费边缘融合软件 编辑:程序博客网 时间:2024/06/05 17:32

通常来说集合有两大根接口,Collection和Map,Collection下边有三个子接口分别是:Set、Queue、List ,所以Set、Queue、Lis和Map将java集合分为三大类。(一般准备这四类即可)

Set集合-----> 是一个罐子,讲一个对象添加到Set集合中时,Set集合无法记住添加这个元素的 顺序,所以Set集合中元素不允许重复

List集合----->像一个数组,可以记住添加元素的 顺序,可重复

Map集合----->保存的每项数据是key->value的形式,无序     

总结如下:

Set集合:无序不可重复

List集合:有序可重复

Map集合:无序不可重复


Set接口:

HashSet类:

HashSet是Set集合的 典型实现,其中不得不说两个方法equals()和hashCode()

HashSet集合判断两个元素相等的标准是两个对象通过equals()方法比较相等,并且通过hashCode()方法返回值也相等。

hashCode()方法通过元素的hashCode值来计算存储位置,当访问该元素时候,HashSet先计算该元素的hashCode值,然后直接到该hashCode值对应的存储位置去取出该元素。这就是HashSet很快的原因。

LinkedHashSet类:

该类是HashSet类的子类,也是根据hashCode值来决定元素的存储位置的,但他同时使用了链表维护顺序,也就是说当遍历LinkedhashSet集合里的元素时,LinkedhashSet将会按照元素的添加顺序来访问集合里的元素,因为要维护元素的插入顺序,所以性能略低于HashSet。

TreeSet类:

TreeSet是Set接口子接口SortedSet的实现类,可以确保集合元素处于排序状态。


有序:元素插入顺序和存储循序一致

无序:元素插入顺序和存储循序一致








0 0
原创粉丝点击