import java.util.Arrays; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.SortedSet; import java.util.TreeSet; public class sdf { public static void main(String[] args) { HashSet<String> hashSet = new HashSet<String>(Arrays.asList("b c e f g a".split(" "))); LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>(Arrays.asList("b c e f g a".split(" "))); SortedSet<String> TreeSet = new TreeSet<String>(Arrays.asList("b c e f g a".split(" "))); System.out.println("hashSet: " + hashSet); System.out.println("linkedHashSet:" + linkedHashSet); System.out.println("TreeSet: " + TreeSet); } }
输出结果:
hashSet: [f, g, e, b, c, a]
linkedHashSet:[b, c, e, f, g, a]
TreeSet: [a, b, c, e, f, g]
因此:
HashSet:哈希表是通过使用称为散列法的机制来存储信息的,元素并没有以某种特定顺序来存放;
LinkedHashSet:以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代;
TreeSet:提供一个使用树结构存储Set接口的实现,对象以升序顺序存储,访问和遍历的时间很快。
发表评论
-
JVM内存模型及垃圾收集策略解析
2011-09-25 01:56 858一 JVM内存模型 1.1 Java栈 Java栈 ... -
JVM基础概念总结:数据类型、堆与栈
2011-09-25 01:14 844数据类型 Java虚拟机中,数据类型可以分为两类:基本类型 ... -
JVM分代垃圾回收策略的基础概念
2011-09-25 01:07 718为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不 ... -
理解静态变量惰性初始化的双检锁模式
2011-05-10 22:28 1215对于双检锁,其实有多种不同的用法,有很多种用法是无论 ... -
基本类型 加减运算 类型转换问题讨论
2011-03-09 14:56 969先来看下面的 代码: public class Tes ... -
DataSource 使用方法
2011-03-03 14:26 3016转自:http://marshal.easymorse.com ... -
Java util之常用数据类型特性盘点(Map 四种同步方式的性能比较)
2011-02-24 20:09 1881出处:http://www.iteye.com/topic/1 ... -
Java util之常用数据类型特性盘点 (HasMap深度分析)
2011-02-24 17:57 1263出处:http://www.iteye.com/topic/7 ... -
Java util之常用数据类型特性盘点 (三)
2011-02-24 16:22 1088Java util之常用数据类型特性盘点 (三) 出处 ... -
Java util之常用数据类型特性盘点 (二)
2011-02-24 16:07 1062Java util之常用数据类型特性盘点 (二) 出处 ... -
Java util之常用数据类型特性盘点(一)
2011-02-24 15:47 996Java util之常用数据类型特性盘点 出处:http:// ... -
Java 中实例化对象方法
2011-02-24 13:57 10571、直接 new 调用默认构造器实例化对象,如: ... -
java 冒泡排序、选择排序、插入排序、快速排序二分法查找代码
2011-02-23 20:42 4070java 排序的代码 import java.util ... -
java collection集合框架
2011-02-23 17:19 1383Java集合框架使用总 ... -
java.sql.Date与java.util.Date 异同
2011-02-23 17:13 1329java.util.Date 包含日期和时间。 ... -
类的初始化顺序问题
2011-02-23 16:10 735一道面试题目,看代码: public class ... -
java clone方法使用详解
2011-02-23 15:39 905java clone方法使用 出处 ... -
Java数据类型
2011-02-23 15:04 705Java数据类型 JAVA语言中定义了8种基本的数据类型, ... -
java float double为什么精度会丢失
2011-02-23 14:39 5750由于对float或double 的使用不当,可能会出现精度丢失 ... -
java基础知识回顾(1)float/double 与封装类型Float/Double
2011-02-23 14:31 3542float/double 与封装类型Float/Double ...
相关推荐
总结来说,HashSet适用于不需要保持元素顺序且对性能要求较高的情况;LinkedHashSet适合需要保持元素插入顺序的场景;而TreeSet则适用于需要元素有序排列的情况,无论是自然排序还是定制排序。选择哪种Set实现取决于...
比较遗憾的是,TreeSet 虽然实现起来也比较简单,但它有着和 HashSet 一样的问题,会自动排序 5:LinkedHashSet去重(有序) 从代码和执行结果可以看出,LinkedHashSet 是到目前为止,实现比较简单,且最终生成的新...
这实际上是在内部使用了一个双向链表来跟踪元素顺序。 在实际应用中,选择`HashSet`还是`TreeSet`,取决于我们是否需要保持元素的特定顺序以及排序方式。如果对性能有较高要求且不需要排序,那么`HashSet`通常是更...
本文将深入探讨Java中四个主要的Set实现类:HashSet、LinkedHashSet、TreeSet以及EnumSet。 首先,Set集合的核心特性是不存储重复元素。在尝试通过`add()`方法添加相同元素时,如果集合中已经存在该元素,`add()`...
java8 源码 学习笔记(持续更新中) 所有文章均同步发布到微信公众号...LinkedHashSet TreeSet HashSet Concurrent源码系列 待完善 JVM(Java虚拟机) 类加载 垃圾回收算法 JavaConcurrent(Java并发系列) 【Java并发系列】
如果需要快速查找和不关心元素顺序,可以选择HashSet;如果需要元素有序,可以选择TreeSet;如果既要保持插入顺序又要避免重复,LinkedHashSet是合适的选择。在使用Set时,确保正确实现或提供比较规则,以保证元素的...
LinkedHashSet是Set集合中的一种有序且唯一的实现类,特点是能够按照元素的添加顺序来存储元素。它的存储原理是通过链表来实现的,具有很高的存储效率和查询效率。 在使用LinkedHashSet时,需要掌握的是如何存储...
AbstractSet 抽象类SortedSet 接口HashSet LinkedHashSet TreeSet List 接口 AbstractList 和 AbstractSequentialList Vector Stack ArrayList LinkedList Queue接口Deque 接口 AbstractQueue 抽象类LinkedList ...
1. Set(集):无序、不可重复、唯一,实现类有HashSet、TreeSet、LinkedHashSet等。 2. List(列表):有序、可重复、多个null元素,实现类有ArrayList、LinkedList、Vector等。 3. Map(映射):键值对集合,键...
- 常见实现类有HashSet、TreeSet和LinkedHashSet等。 3. Queue(队列): - 以队列的方式存储元素,遵循先进先出(FIFO)的原则。 - 可以在队列的两端进行操作,即添加元素到队尾或移除队首元素。 - 常见实现类有...
Set接口代表不允许有重复元素的集合,如HashSet、TreeSet和LinkedHashSet。List接口则表示有序的、允许重复元素的集合,如ArrayList、LinkedList和Vector。Map接口则不同于Collection,它是键值对存储的接口,常见的...
- **HashSet和LinkedHashSet**:基于HashMap实现,HashSet无序且唯一,LinkedHashSet保持插入顺序。 - **TreeSet**:基于红黑树,保持元素排序。 - **PriorityQueue**:基于二叉堆实现,总是返回最小元素。 - **...
GoDS(Go数据结构) Go中各种数据结构和算法的实现。 数据结构 货柜 所有数据结构都通过以下方法实现容器接口: type Container interface { Empty () bool Size () int Clear () Values () [] interface {} ...
如果需要快速的插入和查找,不关心元素顺序,可以选择HashSet;如果需要保持元素的自然排序或自定义排序,那么TreeSet是更好的选择;如果希望元素保持插入顺序,LinkedHashSet将是理想之选。在多线程环境下,...
在Java集合框架中,TreeSet是一个重要的数据结构,它是Set接口的实现类之一,与HashSet和LinkedHashSet不同,TreeSet具有排序功能,这是因为其不仅继承自AbstractSet,还实现了SortedSet和NavigableSet接口。...
如果需要按特定顺序遍历元素,应考虑使用LinkedHashSet。 3. **构造方法**: - 无参构造器:创建一个空的HashSet,底层初始化一个HashMap,初始容量为16,加载因子为0.75。 - 带Collection的构造器:根据传入的...
HashSet基于哈希表,提供快速的插入和查找,但不保证元素顺序。LinkedHashSet保持了元素插入的顺序,而TreeSet则使用红黑树,按自然排序或自定义比较器进行排序。 Queue接口主要用于队列操作,FIFO(先进先出)原则...
ava基础 基础知识 面向对象基础 Java基本数据类型 string和包装类 final关键字特性 Java类和包 抽象类和接口 ...Java集合详解7:HashSet,TreeSet与LinkedHashSet Java集合详解8:Java集合类细节精讲 JavaWeb
HashSet是最基础的实现,基于哈希表,插入和查找速度较快,但不保证元素顺序;LinkedHashSet保持了元素插入的顺序;TreeSet内部实现为红黑树,保证元素排序,可以按照自然顺序或自定义比较器进行排序。 Map接口则...