手机
当前位置:查字典教程网 >编程开发 >Java >Java中Set与List的关系与区别介绍
Java中Set与List的关系与区别介绍
摘要:两个接口都是继承自Collection.List(inteface)次序是List的最重要特点,它确保维护元素特定的顺序.--ArrayLi...

两个接口都是继承自Collection.

List (inteface)

次序是List 的最重要特点,它确保维护元素特定的顺序.

--ArrayList 允许对元素快速随机访问.

--LinkedList 对顺序访问进行优化,向List 中间插入与移除的开销并不大,具有addFrist(),addLast(),getFirst,getLast,removeFirst和removeLast().这些方法使得LinkedList可当作堆栈/队列/双向队列.

Set (inteface)

存入Set 的每个元素必须唯一,不保证维护元素的次序.加入Set 的Object必须定义equals()方法

--HashSet为快速查找而设计的Set ,存入HashSet对象必须定义hashCode().

--TreeSet 保护次序的Set ,使用它可以从Set 中提取有序序列.

--LinkedHashSet具有HashSet的查询速度,且内部使用链表维护元素的次序.

它们之间的存储方式不一样:

TreeSet采用红黑树的树据结构排序元素.

HashSet采用散列函数,这是专门为快速查询而设计的.

LinkedHashSet内部使用散列以加快查询速度,同时使用链表维护元素的次序.

使用HashSet/TreeSet时,必须为类定义equals();而HashCode()是针对HashSet,作为一种编程风格,当覆盖equals()的时候,就应该同时覆盖hashCode().

【Java中Set与List的关系与区别介绍】相关文章:

Java中Date,Calendar,Timestamp的区别以及相互转换与使用

java与c#的语法区别详细介绍

基于java中stack与heap的区别,java中的垃圾回收机制的相关介绍

详解Java中super的几种用法并与this的区别

Java中的final关键字详细介绍

基于java中BlockingQueue的使用介绍

java中sdk与jdk的区别详细解析

java Collection 之List学习介绍

java中ArrayList 、LinkList的区别分析

java中vector与hashtable操作实例分享

精品推荐
分类导航