首页 > 编程语言 >【Java】 Set实现类

【Java】 Set实现类

时间:2022-11-11 12:03:15浏览次数:41  
标签:map set Java hashset 实现 Set 遍历


Set是collection的子接口,对应数学中的集合。与list的最主要的区别是,set无法通过索引取值,因为set是无序的。set还有一个特性是唯一性,不能存相同的元素。

第一个实现类是hashset,看源码发现hashset底层实现就是一个hashmap,所以hashset查重基本是O1的。hashset存元素是把元素当做key存的,value部分是一个object对象。

第二种是linkedhashset,使用linkedhashmap实现的。实现遍历按照插入的方式。

第三种是treeset,遍历按照大小,底层按照treemap实现。

所以单线程的set实现类基本上都是以对应的map类实现的。是map类的简化版。


标签:map,set,Java,hashset,实现,Set,遍历
From: https://blog.51cto.com/u_15873544/5844108

相关文章

  • Go实现栈与队列基本操作
    @目录一前言二实现栈与队列基本操作2.1栈基本操作2.2队列基本操作三用栈实现队列3.1理论3.2算法题3.3思路3.4代码部分四用队列实现栈4.1理论4.2算法题4.3思路......
  • 【Java】垃圾回收机制 GC
    GC是java中比较有特色的技术,减轻了程序员的负担。当然也是面试中的高频话题。对于垃圾回收,首先要解决的是找出哪些对象是需要回收的。第一个方法是计算引用数目,实现比较简单......
  • springboot 引入外部包的坑Lookup method resolution failed; nested exception is ja
    手动引入jar包<dependency><groupId>com.allinpay.sdk</groupId><artifactId>top-sdk-java</artifactId><version>1.0.5</......
  • java
    Java是一种编程语言和计算平台,由SunMicrosystems在1995年首次发布。它从微末起步,逐渐发展为当今数字世界中很大一部分资产所依赖的基础,是用于构建许多服务和应用程序......
  • Jenkins + Docker + Spring Boot实现自动化部署
    环境:CentOS7+Git(Gitee)实现步骤:在Docker安装Jenkins,配置Jenkins基本信息,利用Dockerfile和Shell脚本实现项目自动拉取打包并运行。一、安装Docker1、下载......
  • Java之找不到或无法加载主类
    IDEA报错:错误:找不到或无法加载主类。解决方法1:原因:未能成功编译。尝试:菜单栏Build->RebuildProdject 解决方法2:原因:IDEA缓存问题。尝试:菜单栏File->Invalida......
  • Android实战简易教程-第四十七枪(ListView多选-实现点餐系统)
    一般在外卖的选单中常常会用到ListView的多选,大家可以改进后加入自己的项目中。下面看一下代码:一、代码1.main.xml:(由一个ListView和一个Button组成)<?xmlversion="1.0"enc......
  • Android实战简易教程-第四十八枪(App引导页面效果实现)
    经常使用APP的童鞋会发现,第一次进入APP会有引导页面,里面可以放一些APP的使用介绍或其他信息等等,下面我们研究一下如何实现这个功能,增加APP的体验。一、自定义控件继承ViewGr......
  • Java--comparator接口与Comparable接口的区别
    1.Comparator和Comparable相同的地方他们都是java的一个接口,并且是用来对自定义的class比较大小的,什么是自定义class:如publicclassPerson{Stringname;int......
  • Android实战简易教程-第四十九枪(两种方式实现网络图片异步加载)
    加载图片属于比较耗时的工作,我们需要异步进行加载,异步加载有两种方式:1.通过AsyncTask类进行;2.通过Handler来实现,下面我们就来看一下如何通过这两种方式实现网络图片的异步加......