java集合类知识

来源:互联网 发布:基于php的物流管理系统 编辑:程序博客网 时间:2024/05/22 10:29

List :可以重复,有顺序

ArrayList:List的实现类,用数组的方式存储数据,随机访问性能好

LinkedList:List的实现类,用链表的方式存储数据,从表中插入,删除性能好

LinkedHashList:有顺序,散列,查询速度快

 

Set:不可以重复,没有顺序

HashSet:Set的实现类,查询速度快

TreeSet: Set的实现类,有顺序的

LinkedHashSet:有顺序(链表存储),查询速度快(HashCode)

Map:以键值对形式存储的集合类

HashMap:没有排序,搜索快

TreeMap:保持排序,搜索快

LinkedHashMap:保持原始的插入顺序

 

Queue:队列,先进先出(各种queue和栈的行为,有LinkedList提供支持)

PriorityQueue:Queue的实现类

Map的<key,value>,相当于set和list

使用Iterable的好处:不需要知道遍历的对象是什么类型

使用泛型的好处:在编译期间就可以发现值类型的错误

操作集合的工具类

Collections,其中实现了同步控制

使用HsahSet的时候,为什么重写equals()的时候,要同时重写hashCode()?

HashSet的判断标准是equals()和hashCode()同时相等,才确定是重复的。如果当equals()的值为true,hashCode的值为false的时候,set就会add一个元素

这样元素就重复了,导致Set没有意义了,所以要尽量保证同时相等。

原创粉丝点击