首页 > 其他分享 >40、set有哪些实现类?

40、set有哪些实现类?

时间:2023-05-17 21:44:16浏览次数:47  
标签:set LinkedHashSet HashSet 实现 哪些 40 元素 TreeSet

(1)HashSet

HashSet是set接口的实现类,set下面最主要的实现类就是HashSet(也就是用的最多的),此外还有LinkedHashSet和TreeSet。
HashSet是无序的、不可重复的。通过对象的hashCode和equals方法保证对象的唯一性。
HashSet内部的存储结构是哈希表,是线程不安全的。

(2)TreeSet

TreeSet对元素进行排序的方式:

元素自身具备比较功能,需要实现Comparable接口,并覆盖compareTo方法。
元素自身不具备比较功能,需要实现Comparator接口,并覆盖compare方法。

(3)LinkedHashSet

LinkedHashSet是一种有序的Set集合,即其元素的存入和输出的顺序是相同的。
————————————————
 

标签:set,LinkedHashSet,HashSet,实现,哪些,40,元素,TreeSet
From: https://www.cnblogs.com/cnetsa/p/17410419.html

相关文章

  • 23、常见的异常类有哪些?
    NullPointerException:空指针异常;SQLException:数据库相关的异常;IndexOutOfBoundsException:数组下角标越界异常;FileNotFoundException:打开文件失败时抛出;IOException:当发生某种IO异常时抛出;ClassCastException:当试图将对象强制转换为不是实例的子类时,抛出此异常;NoSuchMethodExceptio......
  • 26、java 中都有哪些引用类型?
    (1)强引用Java中默认声明的就是强引用,比如:Objectobj=newObject();obj=null;只要强引用存在,垃圾回收器将永远不会回收被引用的对象。如果想被回收,可以将对象置为null;(2)软引用(SoftReference)在内存足够的时候,软引用不会被回收,只有在内存不足时,系统才会回收软引用对象,如果回收......
  • 25、java 中操作字符串都有哪些类?它们之间有什么区别?
    (1)StringString是不可变对象,每次对String类型的改变时都会生成一个新的对象。(2)StringBuilder线程不安全,效率高,多用于单线程。(3)StringBuffer线程安全,由于加锁的原因,效率不如StringBuilder,多用于多线程。不频繁的字符串操作使用String,操作频繁的情况不建议使用String。StringB......
  • 12、普通类和抽象类有哪些区别?
    抽象类不能被实例化;抽象类可以有抽象方法,只需申明,无须实现;有抽象方法的类一定是抽象类;抽象类的子类必须实现抽象类中的所有抽象方法,否则子类仍然是抽象类;抽象方法不能声明为静态、不能被static、final修饰。......
  • 激光切割机打标机雕刻机打码机控制系统上位机源码,完全自主开发,控制系统用stm32f407平
    激光切割机打标机雕刻机打码机控制系统上位机源码,完全自主开发,控制系统用stm32f407平台开发,上位机用C#开发,上位机具备x.y.z手动控制功能,圆弧插补,画正弦波,直线,往复运动,回原点,激光开关控制,强度设定等功能,速度和移动距可设置,圆弧插补输入半径即可。在上位机点击导入坐标文件会打开选......
  • co2激光切割机控制系统上位机C#源码,stm32f407控制板源码,可用于雕刻机,切割机,写字机,点胶
    co2激光切割机控制系统上位机C#源码,stm32f407控制板源码,可用于雕刻机,切割机,写字机,点胶机。标价为最低价,谢绝还价功能描述:1.自动解析G代码并在主界面还原图形显示2.可手动操作xy轴3.显示g代码坐标文件4.回原点控制。5.支持图形缩放,鼠标拖动YID:622500643037657099......
  • 激光切割机雕刻机桌面打标机打码机点胶机写字机上位机C#源码STM32F407控制板源码
    激光切割机雕刻机桌面打标机打码机点胶机写字机上位机C#源码STM32F407控制板源码可用在各类切割机、雕刻机、打标机、点胶机、写字机、打孔机控制板STM32F407支持3轴手动操作,鼠标单击运行距离和速度可设置,通信方式为串口轴控模式:两轴和三轴三轴模式可调节z轴作为升降和角度控......
  • 激光雕刻机图片解析C#上位机stm32f407控制板源码 视频中机器运行
    激光雕刻机图片解析C#上位机stm32f407控制板源码视频中机器运行慢是因为测试激光头功率小,跑快了光斑在像素点烧蚀时间短打不出痕迹,需要速度快把激光头功率加大即可支持多种常用图片格式的转换例如jpg转bmp,支持彩色图片转灰度图,灰度图转二值图也称黑白图,转换完成点击工具栏中的计算......
  • Maven - settings.xml配置
      settings.xml<?xmlversion="1.0"encoding="UTF-8"?><!--LicensedtotheApacheSoftwareFoundation(ASF)underoneormorecontributorlicenseagreements.SeetheNOTICEfiledistributedwiththisworkforadditional......
  • redis中set与setnx区别
    转自:https://www.zhangshilong.cn/work/320344.htmlRedis命令SETNX的使用(包含Java分布式锁实现)可以参考Redis官网对SETNX命令的介绍:https://redis.io/commands/setnxSETNX命令简介命令格式SETNXkeyvalue将key的值设为value,当且仅当key不存在。若给定的key已经存......