HashSet、LinkedHashSet、TreeSet 简明解释
HashSet:元素无序。比如存入a、e、c、d、b,输出d、e、b、c、a。
LinkedHashSet:怎么存进去,怎么出来。比如存入a、e、c、d、b,输出a、e、c、d、b。
TreeSet:排好序的输出。比如存入a、e、c、d、b,输出a、b、c、d、e。
看代码,一目了然:
public static void main(String[] args) {
System.out.println("####################HashSet Start####################");
Set<String> setHash=new HashSet<String>();
setHash.add("a");
setHash.add("e");
setHash.add("c");
setHash.add("d");
setHash.add("b");
for (Object object : setHash) {
System.out.print(object+" ");
}
System.out.println("\n####################HashSet End####################");
System.out.println("\n####################LinkedHashSet Start####################");
Set<String> setLinked=new LinkedHashSet<String>();
setLinked.add("a");
setLinked.add("e");
setLinked.add("c");
setLinked.add("d");
setLinked.add("b");
for (Object object : setLinked) {
System.out.print(object+" ");
}
System.out.println("\n####################LinkedHashSet End####################");
System.out.println("\n####################TreeSet Start####################");
Set<String> setTree=new TreeSet<String>();
setTree.add("a");
setTree.add("e");
setTree.add("c");
setTree.add("d");
setTree.add("b");
for (Object object : setTree) {
System.out.print(object+" ");
}
System.out.println("\n####################TreeSet End####################");
}
结果:

HashSet、LinkedHashSet、TreeSet 简明解释的更多相关文章
- java集合框架之几种set(HashSet LinkedHashSet TreeSet )
参考http://how2j.cn/k/collection/collection-sets/691.html#nowhere HashSet LinkedHashSet TreeSet HashSe ...
- HashSet,LinkedHashSet,TreeSet的区别
Set接口Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false.Set判断两个对象相同不是使用==运算符,而是根据equals方法.也就是说,只要两个对象用eq ...
- JDK源码学习笔记——HashSet LinkedHashSet TreeSet
你一定听说过HashSet就是通过HashMap实现的 相信我,翻一翻HashSet的源码,秒懂!! 其实很多东西,只是没有静下心来看,只要去看,说不定一下子就明白了…… HashSet 两个属性: ...
- HashSet LinkedHashSet TreeSet 分析
1.HashSet分析 hashset 底层是hash表,就是hashMap,是无序的,唯一的.也就是说,它的底层其实就是一个HashMap key 值的组成值.所以具有唯一性. public Ha ...
- Java 基础 - Set接口 及其实现类HashSet/LinkedHashSet/TreeSet
笔记: /**Set接口 及其实现类 * 公用操作同Collection: * * ①size(),clear()②isEmpty(),③contains(),④add()方法 和remove()方法 ...
- HashSet 与TreeSet和LinkedHashSet的区别
Set接口 Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false. Set判断两个对象相同不是使用==运算符,而是根据equals方法.也就 ...
- HashSet vs TreeSet vs LinkedHashSet
使用Set集合的主要原因是因为Set集合里面没有重复的元素.Set集合有三个常见的实现类:HashSet,TreeSet,LinkedHashSet.什么时候,选择哪一个使用非常重要.简单的说,如果你 ...
- Set集合——HashSet、TreeSet、LinkedHashSet(2015年07月06日)
一.Set集合不同于List的是: Set不允许重复 Set是无序集合 Set没有下标索引,所以对Set的遍历要通过迭代器Iterator 二.HashSet 1.HashSet由一个哈希表支持,内部 ...
- Java集合详解7:HashSet,TreeSet与LinkedHashSet
今天我们来探索一下HashSet,TreeSet与LinkedHashSet的基本原理与源码实现,由于这三个set都是基于之前文章的三个map进行实现的,所以推荐大家先看一下前面有关map的文章,结合 ...
随机推荐
- 怎么下载geventwebsocket
pip install gevent-websocket sudo pip install gevent-websocket
- Python学习之旅(十)
Python基础知识(9):函数(Ⅰ) Python中函数的定义:是逻辑结构和过程化的一种编程方法 定义方法: def test(x): #def:定义函数的关键字 test:函数名 x:形参,也可以 ...
- python全栈开发 * 36知识点汇总 * 180721
36 操作系统的发展史 进程一.手工操作--穿孔卡片 1.内容: 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制 台开关启动程序针对 ...
- PHP面试大全 基础篇100道问题
2017年3月7日14:23:21 其实计划很久但是移植没时间去收集和处理弄成一个完整的文件 SVN地址: https://git.oschina.net/zxadmin/live_z 目前基础部分更 ...
- bat杂记 cmd
强制复制覆盖 copy f:\temp1.txt f:\temp2.txt /y 删除 del f:\temp1.txt 删除任务aa1 schtasks /Delete /TN aa1 /F cmd ...
- 如何解决PuTTY中文乱码的问题
我们可以使用PuTTY这个工具在一台机器上对其它linux系统进行连接和操作.如果大家都在linux系统中,可以在终端中用ssh ip或主机名直接连接. 如果要在windows中对远程的linux系统 ...
- HDU 2612 - Find a way - [BFS]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612 Problem DescriptionPass a year learning in Hangz ...
- Web开发——jQuery基础
参考: 参考W3School:jQuery 教程 参考:jQuery 参考手册 参考(常用):jQuery API 测试 JavaScript 框架库 - jQuery 测试 JavaScript 框 ...
- grep匹配字符串
基本正则表达式 元数据 意义和范例 ^word 搜寻以word开头的行. 例如:搜寻以#开头的脚本注释行 grep –n ‘^#’ regular.txt word$ 搜寻以word结束的行 例如,搜 ...
- MSMQ 跨服务器读写队列的“消息队列系统的访问被拒绝”的解决方案
转自https://www.cnblogs.com/jyz/articles/4612333.html 最近项目中需要跨服务器对消息队列进行读写,开始在单独开发机器上进行Queue的读写没问题.但是部 ...