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的文章,结合 ...
随机推荐
- poj 2069
唔. 这道题的火候比较巧妙. 我们是每次找到一个最远的点,然后向那个最远点逼近. 这显然非常合理. #include <cstdlib> #include <cmath> #i ...
- 对象copy的两种方式--序列化--clone
对象实现copy有多中方式,最土的方法就是直接new,然后塞值,不过这种方法是真的low,下面着重说说Object类中的clone() 和 序列化反序列化copy Object 中 clone的方法 ...
- 洛谷P3808 【模板】AC自动机(简单版)
题目背景 这是一道简单的AC自动机模板题. 用于检测正确性以及算法常数. 为了防止卡OJ,在保证正确的基础上只有两组数据,请不要恶意提交. 管理员提示:本题数据内有重复的单词,且重复单词应该计算多次, ...
- xcode工程编译错误之iOS解决CUICatalog: Invalid asset name supplied问题
[问题分析]: 这个问题其实是老问题,产生原因就是因为在使用的时候 [UIImage imageNamed:]时,图片不存在或者传入的图片名为nil. [解决方法]: 添加一个系统断点,来判断如果图片 ...
- git的简单玩法
本篇笔记参考廖雪峰的git教程,为方便查看将命令部分提取并记录下来. 无意对原作的版权侵犯,如需要学习请到廖雪峰网站学习git 创建git仓库 # mkdir learngit && ...
- 基于Enterprise Architect完成数据库建模
基于Enterprise Architect完成数据库建模 “工欲善其事必先利其器”,Enterprise Architect是一款非常便利的设计工具,目前我也是刚刚使用没多久,进行过系统设计.UML ...
- SpringMVC整合mybatis基于纯注解配置
Mybatis整合Spring配置 第一部分:配置Spring框架 配置SpringMVC的步骤 配置流程图 导入包(哪些包,基本包5个,1日志依赖包,2webmvc支持包)SpringMVC配置 & ...
- js篇-解析url链接里面的参数名和参数值
项目背景是,链接为:https://paladin.pingan.com.cn/jf/?appId=PA00200000000_01_APP&id=123456#/fundRank 要求拿到: ...
- Python开发环境Linux配置
1. 在Windows下安装Linux的连接工具(XShell),选免费的 2.虚拟机安装,注意BIOS对虚拟机使用的设置(enable) 3.虚拟机安装好修改yum源(用阿里云的):https:// ...
- 【Common】NO.81.Note.1.Common.1.002-【文章摘要】
1.0.0 Summary Tittle:[Common]NO.81.Note.1.Common.1.002-[文章摘要] Style:Common Series:Common Since:2018- ...