首页 > 编程语言 >【java基础】HashSet插入顺序问题

【java基础】HashSet插入顺序问题

时间:2022-09-30 12:33:27浏览次数:56  
标签:set java HashSet System 插入 add out

总结:
1、HashSet底层的插入是通过HashMap来实现的
2、HashSet并不按照插入的顺序存储,它是无序的
3、LinkedHashSet中的元素可以按照它们插入规则集的顺序提取

    @Test
    //HashSet并不按照插入的顺序
    public void setIndex(){
        //HashSet底层也是HashMap
        HashSet<Integer> set = new HashSet<>();
        set.add(5);
        set.add(2);
        set.add(4);

        for (Integer integer : set) {
            System.out.println(integer); //2,4,5
        }

        System.out.println("---------------");
        Iterator<Integer> iterator = set.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next()); //2,4,5
        }

        //LinkedHashSet中的元素可以按照它们插入规则集的顺序提取
        System.out.println("LinkedHashSet中的元素可以按照它们插入规则集的顺序提取");
        HashSet<Integer> set1 = new LinkedHashSet<>();
        set1.add(5);
        set1.add(2);
        set1.add(4);

        for (Integer integer : set1) {
            System.out.println(integer); //5,2,4
        }
    }

标签:set,java,HashSet,System,插入,add,out
From: https://www.cnblogs.com/xiaoyu-jane/p/16744544.html

相关文章

  • java 多线程
    线程的状态:New、Runnable、Blocked、Waiting、Timedwaiting、Terminated  newThread()——>New、start()——>Runnable、等待资源——>Blocked、wait()——>waiting......
  • PowerDesigner提示Could not Initialize JavaVM!
    PowerDesigner逆向mysql数据库报CouldnotInitializeJavaVM!提示,是因为powerdesigner基于32位JVM的原因。解决办法:安装32位的JDK或者安装mysql的ODBC驱动(重要提示:务......
  • Install4j for Mac(java安装程序创建器)
    Install4j版是一款很不错的java安装文件生成工具,提供强大的脚本编辑器、命令行编辑器、安装包设计IDE、JRE管理和部署等功能,主要用于生成java应用程序本地化的安装和应用程......
  • 用IO多路复用实现 nginx 静态资源代理(C/Java/Golang)
    用IO多路复用实现nginx静态资源代理(C/Java/Golang)效果展示代理HTML代理图片注意,静态资源代理基于HTTP,可以了解上一篇文章:几十行代码使用TCP简单实现HTT......
  • Java 模拟Terminal连接 Linux Console 源代码
    代码和效果如下,已经转换java文件为exe文件,注意要在Pom文件里面添加依赖。  packagecom.javassh3.javassh3;/*-*-mode:java;c-basic-offset:2;indent-tabs-mode:n......
  • java 获取当前时间并转化为yyyy-MM-dd HH:mm:ss格式 时间戳和字符串之间转换
    java获取当前时间并转化为yyyy-MM-ddHH:mm:ss格式时间戳和字符串之间转换方法一(线程不安全,不建议使用)privateSimpleDateFormatsdf=newSimpleDateFormat("yy......
  • Java获取当天或者明天等零点时间(00:00:00)0时0分0秒的方法 Calendar calendar = Calend
    Java获取当天或者明天等零点时间(00:00:00)0时0分0秒的方法Calendarcalendar=Calendar.getInstance();Java获取当天或者明天等零点时间(00:00:00)0时0分0秒的方法Sim......
  • java基础day-02
    第二章、面向对象一、什么是面向对象面向对象就是用人的世界观改变计算机世界观1.1对象万物皆可对象学习面向对象之前先了解什么是属性和行为?属性:表示的是事物的特征,是静态......
  • JAVA基础day05-实用类
    一、实用类介绍常用JavaAPI(封装在包里)Java.langEnum、包装类、Math、String、StringBuffer、System……java.util:工具类java.io:输入输出操作java.sql:数据库的操作……1.......
  • JavaWeb基础day01_XML
    一、XMLXML文件的默认打开方式是浏览器xml:是可扩展的标记语言ExtensibleMarkupLanguage。以一种标签语言与HTML类似1、xml的作用编写配置文件:C3P0编写XML配置文件做数据......