首页 > 编程语言 >[Java基础学习][集合]java常见集合:Java中集合框架提供了大量的集合类:常见的list、set、map。

[Java基础学习][集合]java常见集合:Java中集合框架提供了大量的集合类:常见的list、set、map。

时间:2024-03-20 12:01:13浏览次数:28  
标签:基于 set Java 常见 线程 集合

总结与区别:

Set: 去重;

      set去重本质:equals+hashcode;
      常见的HashSet、TreeSet。
      HashSet基于哈希表实现,插入、删除、查找。不保证顺序
      TreeSet基于红黑树实现,保证顺序,查找较快; treeSet:排序 继承comparable接口进行比较排序
      Set不是线程安全的。高并发时,可使用Collections 中的synchronizedSet 或者ConCurrentSkipListSet;

ConCurrentSkipListSet 线程安全示例代码:


      
    
    List:有序集合,允许元素重复。常见的有ArrayList、LinkedList。  
          Arraylist  是基于动态数组实现的。随机访问和快速遍历;
          Linkedlist 基于双向链表实现的,对于插入和删除效率较高。
          List不是线程安全的(代码如下图)。高并发时,修改可能导致数据不一致;如有线程安全要求:可使用 Collections 中的synchronizedList方法进行。或者(java.util.ConCurrent)CopyOrWriteArrayList类。(代码如下图)

标签:基于,set,Java,常见,线程,集合
From: https://blog.csdn.net/m0_37828130/article/details/136872057

相关文章

  • 01-java面试题-----java基础——20题
    文章目录<fontcolor="red">1、java语言有哪些特点:<fontcolor="red">2、面向对象和面向过程的区别<fontcolor="red">3、标识符的命名规则。<fontcolor="red">4、八种基本数据类型的大小,以及他们的封装类<fontcolor="red">5、instanceof关键字的作用......
  • 洛谷题单指南-集合-P1536 村村通
    原题链接:https://www.luogu.com.cn/problem/P1536题意解读:城镇之间现有的道路关系可以将城镇划分的若干集合,每个集合内的城镇是互通的,要计算最少增加多少条道路,使得每个集合都相通。解题思路:利用并查集,统计一共出现多少个集合,即p[i]=i的数量,最少的道路数即集合数-1,即可把所......
  • java反射
    java反射概念反射就是java中一种可以获取一个对象的类的方法,类可以通过反射拿到所有方法,并且调用。获取类方法获取一个类的方法有三种:对象直接调用getclass()每个类都有一个静态class属性Class类自带的静态方法forName(StringclassName)packagejava_learn;importja......
  • 洛谷题单指南-集合-P1551 亲戚
    原题链接:https://www.luogu.com.cn/problem/P1551题意解读:要判断两人是否是亲戚,只需要看两人是否属于一个集合,基于所有已知的亲戚关系,可以建立多个有亲戚关系的集合,这个过程可以借助并查集。解题思路:并查集:1、定义并查集是一种树形数据结构,本质上是多棵树,每棵树表示一个集合,......
  • Java根据模板生成excel文件【EasyExcel】【xls、xlsx】
    本文章参考:作者:WaiSaa  原文链接:https://blog.csdn.net/qq_42761569/article/details/1190251711、简介如下图所示,template目录下是准备好的模板,export目录下是生成数据文件。我们这里以第一个模板《theUser蒸汽历史数据.xls》为例进行测试,theUser为占位符,生成的文件中会被替换......
  • 基于Js和Java实现xlsx\xls文档的导入和下载
    基于Js和Java+MyBatis实现xlsx\xls文档的导入下载、导出背景:​ 实现xlsx\xls文档的导入、导出​ 导入效果:​ 导出效果:导出效果图1、导入、下载1.1、前台<divstyle="margin-left:15px"><inputtype="file"id="selectFile"name="selectFile"/>......
  • 并发用户数和集合点有必然联系吗?
    一、在性能测试中必须使用集合点来测试吗?A:并发用户数,顾名思义,就是同时操作的用户,这里的“操作”可以指对系统真正的操作,也可以只是连接(此时通常叫作“并发连接数”),而集合点是一种特殊情况下的并发,多用于测试系统在瞬间加压的表现。因此,并发用户数和集合点有联系,但并非必然的联......
  • 深入理解Java双冒号(::)运算符的使用
    Jdk8中有好多新的特性,比如引入Lambda,简化代码的书写等等我们先看一个关于Lambda的使用 /***输出list*/@Testpublicvoidtest(){String[]array={"aaaa","bbbb","cccc"};List<String>list=Arrays.asList(array);//Java7for(......
  • springboot/java/php/node/python情侣空间微信小程序【计算机毕设】
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在当今社会,随着科技的迅猛发展和智能移动设备的普及,人们的社交方式正在经历着翻天覆地的变化。特别是年轻情侣之间,他们更倾向于通过数字化平台来表达情感......
  • springboot/java/php/node/python企业内部订餐小程序【计算机毕设】
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着互联网科技的飞速发展,企业运营模式正逐步向数字化、智能化方向转型。在这一背景下,企业内部服务流程的优化变得尤为重要。订餐作为企业日常工作中不可......