Java HashSet集合的子类LinkedHashSet集合
说明
HashSet保证元素的唯一性,可是元素存放进去是没有顺序的。
在HashSet下面有一个子类java.util.LinkedHashSet,它是 链表 + 哈希表(数组+链表 或者 数组+红黑树)组合的一个数据结构。
即相对HashSet而言,多了一个链表结构。多了的那条链表,用来记录元素的存储顺序,保证元素有序
举例
HashSet集合例子1
import java.util.HashSet;
public class DemoLinkedHashSet {
public static void main(String[] args) {
HashSet<String> hashSet = new HashSet<>();
hashSet.add("https");
hashSet.add("www");
hashSet.add("cnblogs");
hashSet.add("com");
System.out.println(hashSet);
}
}
输出结果:
[com, cnblogs, www, https]
HashSet集合例子2
将例子1中添加元素的顺序调换一下
import java.util.HashSet;
public class DemoLinkedHashSet {
public static void main(String[] args) {
HashSet<String> hashSet = new HashSet<>();
hashSet.add("cnblogs");
hashSet.add("com");
hashSet.add("https");
hashSet.add("www");
System.out.println(hashSet);
}
}
输出结果:
[com, cnblogs, www, https]
可以看出,HashSet集合存储的元素是无序的。
LinkedHashSet集合例子1
import java.util.LinkedHashSet;
public class DemoLinkedHashSet {
public static void main(String[] args) {
LinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();
linkedHashSet.add("https");
linkedHashSet.add("www");
linkedHashSet.add("cnblogs");
linkedHashSet.add("com");
System.out.println(linkedHashSet);
}
}
输出结果:
[https, www, cnblogs, com]
LinkedHashSet集合例子2
将例子1中添加元素的顺序调换一下
import java.util.LinkedHashSet;
public class DemoLinkedHashSet02 {
public static void main(String[] args) {
LinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();
linkedHashSet.add("cnblogs");
linkedHashSet.add("com");
linkedHashSet.add("https");
linkedHashSet.add("www");
System.out.println(linkedHashSet);
}
}
输出结果:
[cnblogs, com, https, www]
可以看出,LinkedHashSet集合存储的元素是有序的。
Java HashSet集合的子类LinkedHashSet集合的更多相关文章
- Java集合概述、Set集合(HashSet类、LinkedHashSet类、TreeSet类、EnumSet类)
Java集合概述.Set集合(HashSet类.LinkedHashSet类.TreeSet类.EnumSet类) 1.Java集合概述1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指 ...
- Java笔记:Java集合概述和Set集合
本文主要是Java集合的概述和Set集合 1.Java集合概述 1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指定了数组长度,这个数组长度就是不可变的,如果需要保存数量变化的数据,数组 ...
- Java【第十篇】集合
Java 集合概述 Java 集合就像一种容器,可以把多个对象的引用放入容器中.Java 集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关联数组Java 集合可分为 Set.List ...
- Java集合详解7:HashSet,TreeSet与LinkedHashSet
今天我们来探索一下HashSet,TreeSet与LinkedHashSet的基本原理与源码实现,由于这三个set都是基于之前文章的三个map进行实现的,所以推荐大家先看一下前面有关map的文章,结合 ...
- Java集合详解7:一文搞清楚HashSet,TreeSet与LinkedHashSet的异同
<Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...
- Java集合框架之LinkedHashSet
简述 LinkedHashSet底层使用 LinkedHashMap 来保存所有元素,它继承自 HashSet,其所有的方法操作上又与 HashSet 相同,因此 LinkedHashSet 的实现上 ...
- HashSet存储自定义类型元素和LinkedHashSet集合
HashSet集合存储自定义类型元素 HashSet存储自定义类型元素 set集合报错元素唯一: ~存储的元素(String,Integer,-Student,Person-)必须重写hashCode ...
- HashSet存储自定义数据类型和LinkedHashSet集合
HashSet存储自定义数据类型 public class Test{ /** * HashSet存储自定义数据类型 * set集合保证元素唯一:存储的元素(String,Integer,Studen ...
- Java基础学习笔记十五 集合、迭代器、泛型
Collection 集合,集合是java中提供的一种容器,可以用来存储多个数据. 在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据.那么,集合和数组既然都 ...
随机推荐
- 深入java面向对象三:抽象类和接口(转载)
文章系转载,地址: http://blog.csdn.net/xw13106209/article/details/6923556 1.概述 一个软件设计的好坏,我想很大程度上取决于它的整体架 ...
- 如何让索引只能被一个SQL使用
有个徒弟问我,要创建一个索引,去优化一个SQL,但是创建了索引之后其他 SQL 也要用 这个索引,其他SQL慢死了,要优化的SQL又快.遇到这种问题咋搞? 一般遇到这种问题还是很少的.处理的方法很多. ...
- Python--day39--进程池的回调函数callback
运行结果:
- 整理了一下react16.7.0的webpack模板
基本上react需要方法和依赖的库都引配好了.github地址:https://github.com/qianxiaoning/demo-react16.7.0 欢迎大家star或者fork呀~ te ...
- Java开发之快捷键
1.显示桌面快捷键:win+D或者右击状态栏,选择显示桌面. 2.UE编辑器:如果想把多行记录合并为一行,使用替换(Ctrl+R),查找里输入^p(代表回车换行符),替换为里什么都不填,替换位置选择所 ...
- Spring Security学习笔记-自定义Spring Security过滤链
Spring Security使用一系列过滤器处理用户请求,下面是spring-security.xml配置文件. <?xml version="1.0" encoding= ...
- destoon自定义文件的伪静态地址优化
destoon自定义文件的伪静态优化 destoon给出了一个自定义文件传参的方式 在/include/global.func.php 有个rewirte函数来处理 目前的处理方式:index.php ...
- sql临时表与变量表
1)临时表存储在 tempdb 中,当不再使用时会自动删除 一般使用如下: --创建临时表 select * into #temp from TABLE --使用临时表 select * from # ...
- C语言中的优先级和类型转换分析
一.优先级 1.易错的优先级 二.类型转换 在C语言中,存在强制类型装换,也存在隐式类型转换,隐式类型转换实际上属于强制类型转换,隐式类型转换要点如图. (1)举例:算术运算式中,低类型转换为高类型 ...
- Google老师亲授 TensorFlow2.0实战: 入门到进阶
Google老师亲授 TensorFlow2.0 入门到进阶 课程以Tensorflow2.0框架为主体,以图像分类.房价预测.文本分类等项目为依托,讲解Tensorflow框架的使用方法,同时学习到 ...