Java中Set表示一个不包括重复元素的集合,它有HashSet,LinkedHashSet,TreeeSet三种常用实现。

HashSet是Set的最常用实现,它常被用来清除重复元素。

例程:

        Set<String> filterSet=new HashSet<String>();

        filterSet.add("b");
filterSet.add("b");
filterSet.add("c");
filterSet.add("c");
filterSet.add("a");
filterSet.add("a");
filterSet.add("aa");
filterSet.add("1");
filterSet.add("3");
filterSet.add("s"); for(String str:filterSet) {
System.out.println(str);
}

输出:

aa
a
1
b
c
3
s

从上面我们可以看出,HashSet能清除掉重复元素,但不能保持插入顺序,也不会自动排序。

LinkedHashSet不但能清除重复,而且能保持元素的插入顺序。

        Set<String> filterSortSet=new LinkedHashSet<String>();
filterSortSet.add("d");
filterSortSet.add("b");
filterSortSet.add("c");
filterSortSet.add("c");
filterSortSet.add("a");
filterSortSet.add("a");
filterSortSet.add("1");
filterSortSet.add("1");
filterSortSet.add("3");
filterSortSet.add("s"); for(String str:filterSortSet) {
System.out.println(str);
}

输出:

d
b
c
a
1
3
s

TreeSet也能清除重复,且内部自动排序。

例程:

        Set<String> filterSortSet=new TreeSet<String>();
filterSortSet.add("d");
filterSortSet.add("b");
filterSortSet.add("c");
filterSortSet.add("c");
filterSortSet.add("a");
filterSortSet.add("a");
filterSortSet.add("1");
filterSortSet.add("1");
filterSortSet.add("3");
filterSortSet.add("s"); for(String str:filterSortSet) {
System.out.println(str);
}

输出:

1
3
a
b
c
d
s

--END-- 2019-12-24 09:38

[Java数据结构]HashSet,LinkedHashSet,TreeeSet的更多相关文章

  1. java集合框架之几种set(HashSet LinkedHashSet TreeSet )

    参考http://how2j.cn/k/collection/collection-sets/691.html#nowhere HashSet LinkedHashSet TreeSet HashSe ...

  2. C++中的set和java的hashset有何区别?

    以前对C++的STL容器烂熟于心,两年没碰过C++了,现在已经很生疏了.工作原因转战java,对java的容器不甚了解,特别是每看到一种容器,不由自主地拿起和C++对比.C++中的set和java的h ...

  3. Java 集合框架 LinkedHashSet 和 LinkedHashMap 源码剖析

    总体介绍 如果你已看过前面关于HashSet和HashMap,以及TreeSet和TreeMap的讲解,一定能够想到本文将要讲解的LinkedHashSet和LinkedHashMap其实也是一回事. ...

  4. JDK1.8源码(八)——java.util.HashSet 类

    在上一篇博客,我们介绍了 Map 集合的一种典型实现 HashMap ,在 JDK1.8 中,HashMap 是由 数组+链表+红黑树构成,相对于早期版本的 JDK HashMap 实现,新增了红黑树 ...

  5. (6)Java数据结构-- 转:JAVA常用数据结构及原理分析

    JAVA常用数据结构及原理分析  http://www.2cto.com/kf/201506/412305.html 前不久面试官让我说一下怎么理解java数据结构框架,之前也看过部分源码,balab ...

  6. java——数据结构

    底层数据结构: 数组 ArrayList 链表 LinkedList 应用数据结构: 二分搜索树 BST 最大堆/最小堆 MaxHeap/MinHeap 线段树 SegmentTree 字典树 Tri ...

  7. java 集合 HashSet 实现随机双色球 HashSet addAll() 实现去重后合并 HashSet对象去重 复写 HashCode()方法和equals方法 ArrayList去重

    package com.swift.lianxi; import java.util.HashSet; import java.util.Random; /*训练知识点:HashSet 训练描述 双色 ...

  8. java数据结构4--集合Set

    Set接口 Set接口用来表示:一个不包含“重复元素”的集合Set接口中并没有定义特殊的方法,其方法多数都和Collection接口相同. 重复元素的理解:通常理解:拥有相同成员变量的对象称为相同的对 ...

  9. Java Set HashSet

    import java.util.HashSet; import java.util.Set; /** Set存储特点:数据无序.不可重复 Set接口的实现类: HashSet:Set接口的主要实现类 ...

随机推荐

  1. 搭建 springboot selenium 网页文件转图片环境

    1. 环境准备 需要有 chrome 浏览器 + chrome driver + selenium 客户端 离线 chrome 下载地址 # 64位 linux 系统 https://dl.googl ...

  2. 洛谷P3513 [POI2011]KON-Conspiracy

    洛谷P3513 [POI2011]KON-Conspiracy 题目描述 Byteotia的领土被占领了,国王Byteasar正在打算组织秘密抵抗运动. 国王需要选一些人来进行这场运动,而这些人被分为 ...

  3. LInux回顾与Shell编程

    一.Linux回顾 因为要学习Hadoop大数据,会用到Linux服务器集群来做,因此有必要回顾一下当年大一所学习的Linux知识 ①Linux系统有7个运行级别(runlevel): 运行级别0:系 ...

  4. Spring IOC 原理深层解析

    1 Spring IOC概念认识 1.1 区别IOC与DI 首先我们要知道IOC(Inverse of Control:控制反转)是一种设计思想,就是 将原本在程序中手动创建对象的控制权,交由Spri ...

  5. 04 Ubuntu安装MySQL

    1. 服务器端与客户端的安装 sudo apt-get install mysql-server mysql-client 2. 启动mysql服务 sudo service mysql start ...

  6. JavaScript 严格模式(strict mode)

    概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:'严格模式'.顾名思义,这种模式使得Javascript在更严格的条件下运行. 目的 1: 消除Javascript语法的一些不合 ...

  7. 简谈DFS

    所谓DFS就是“不撞南墙不回头”的一种搜索.其时间复杂度为O(V+E). 能算出从起点到终点的全部路径,在算法执行的过程中需要一个visit[vi]数组来维护每个结点的访问情况,这样就能避免重复访问. ...

  8. offset range 查询

    offset range 查询 我们在实际使用过程中经常需要查询某个topic的某分区的offset的range 命令行: kafka-run-class.sh kafka.tools.GetOffs ...

  9. three.js 制作逻辑转体游戏(上)

    今天郭先生又出来制作游戏了,最近有小伙伴要做一个逻辑转体小游戏,我怎么能不先来试试呢.玩法可以看上面的连接,下面附几张图.线案例请点击博客原文. 游戏规则不懂得可以看自行百度哈,其实玩起来还挺有难度的 ...

  10. C#实践设计模式原则SOLID

    理论跟实践的关系,说远不远,说近不近.能不能把理论用到实践上,还真不好说.   通常讲到设计模式,一个最通用的原则是SOLID: S - Single Responsibility Principle ...