如下:

package 集合类.Set类;  

import java.util.Arrays;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
/**
* LinkedHashSet与HashSet的区别就是数据严格按照插入的顺序存放。
* 删除之后会去掉那个位置,新增的数据将在集合的末尾。
* HashSet 内部使用HashMap实现<br>
* 而LinkedHashSet内部使用LinkedHashMap实现。
*/
public class LinkedHashSet类 {
public static void main(String[] args) {
test(new HashSet<Integer>());
test(new LinkedHashSet<Integer>());
} public static void test(Set<Integer> set) {
System.out.println(set.getClass().getName());
// 增加10个数据
for (int i = 100; i <= 110; i++) {
set.add(i);
}
// 看看里面数据的情况
showSet(set); // 删除一个数据
set.remove(101);
// 看看删除后的情况
showSet(set); // 增加三个数据,看结果
set.add(98);
set.add(101);
set.add(118);
showSet(set);
} /**
* 显示Set里面的数据。
*
* @param set
*/
private static void showSet(Set<Integer> set) {
System.out.println(Arrays.toString(set.toArray(new Integer[0])));
}
}

结果如下

java.util.HashSet
[102, 103, 100, 101, 110, 108, 109, 106, 107, 104, 105]
[102, 103, 100, 110, 108, 109, 106, 107, 104, 105]
[102, 103, 100, 101, 98, 110, 108, 109, 106, 107, 104, 105, 118]
java.util.LinkedHashSet
[100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110]
[100, 102, 103, 104, 105, 106, 107, 108, 109, 110]
[100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 98, 101, 118]

linkedHashset有严格的顺序,而hash的顺序为根据hashcode排列的

Java-LinkedHashSet的更多相关文章

  1. LinkedHashSet -有序,不重合集合,但仍不可索引,结合for循环取元素,数据多可能效率低

    package cn.learn.collection.Set; import java.util.HashSet; import java.util.Iterator; import java.ut ...

  2. Java(30)集合五Set

    作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15228440.html 博客主页:https://www.cnblogs.com/testero ...

  3. HowToDoInJava Java 教程·翻译完成

    原文:HowToDoInJava 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. ApacheCN 学习资源 目录 核心 Java 教程 什 ...

  4. Programiz 中文系列教程·翻译完成

    原文:Programiz 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 学习资源 目录 Programiz C ...

  5. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

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

    Java LinkedHashMap和HashMap有什么区别和联系?为什么LinkedHashMap会有着更快的迭代速度?LinkedHashSet跟LinkedHashMap有着怎样的内在联系?本 ...

  7. Java源码初学_HashSet&LinkedHashSet

    一.概述 HashSet是建立在HashMap的基础上的,其内部存在指向一个HashMap对象的引用,操作HashSet实际上就是操作HashMap,而HashMap中所有键的值都指向一个叫做Dumm ...

  8. Java API —— Set接口 & HashSet类 & LinkedHashSet类

    1.Set接口     1)Set接口概述         一个不包含重复元素的 collection,无序(存储顺序和取出顺序不一致),唯一.  (List有序,即存储顺序和取出顺序一致,可重复) ...

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

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

  10. Java基础知识强化之集合框架笔记42:Set集合之LinkedHashSet的概述和使用

    1. LinkedHashSet类的概述: • 元素有序唯一 • 由链表保证元素有序 • 由哈希表保证元素唯一 2. 代码示例: package cn.itcast_04; import java.u ...

随机推荐

  1. poj1459 Power Network (多源多汇最大流)

    Description A power network consists of nodes (power stations, consumers and dispatchers) connected ...

  2. bootstrap学习总结-css样式设计(二)

    首先,很感谢各位园友对我的支持,关于bootstrap的学习总结,我会持续更新,如果有写的不对的地方,麻烦各位给我指正出来哈.关于上篇文章,固定布局和流式布局很关键,如果还不太清楚的可以再看看我写的h ...

  3. 云盘WEB资料下载链接

    入门三板斧:http://www.cnblogs.com/jikey/p/3613082.html 入门看这个:http://pan.baidu.com/s/1pJqJvAV 入门JS视频:http: ...

  4. SQL 第一范式、第二范式、第三范式、BCNF

    作者 : Dolphin 原文地址: http://blog.csdn.net/qingdujun/article/details/27365979 一.第一范式 1NF 要求:每一个分量必须是不可分 ...

  5. iOS之block

    1. Block的声明和线程安全Block属性的声明,首先需要用copy修饰符,因为只有copy后的Block才会在堆中,栈中的Block的生命周期是和栈绑定的,可以参考之前的文章(iOS: 非ARC ...

  6. ASP.NET MVC Razor HtmlHelper扩展和自定义控件

    先看示例代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using S ...

  7. POJ 3461 Oulipo

      E - Oulipo Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit ...

  8. 第一章 初识MVC4

    1.MVC模式 Mvc将应用程序分离为三个部分: Model:是一组类,用来描述被处理的数据,同时也定义这些数据如何被变更和操作的业务规则.与数据访问层非常类似. View:是一种动态生成HTML的模 ...

  9. OV7725学习(二)

    首先要配置OV7725摄像头的寄存器,遵循的是SCCB协议,配置之前需要1ms的时间等待,保证系统稳定,而且刚开始要丢弃前10帧的数据,因为认为前10帧的数据是不稳定的,图1就是数据手册上关于这一点的 ...

  10. Linux常用指令---tar | zip (解压缩)

    减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间.gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用.gzip不仅可以用 ...