当前位置: 首页 > news >正文

【Java】一篇讲透Java中的集合类

Java中的集合类分为Collection接口和Map接口

一、Collection接口:

又派生为三个子接口,List、Set、Queue

1.List接口:

  • 元素有序,可以有重复元素

例如:

  • ArrayList :基于动态数组查询效率高插入/删除效率低
  • LinkedList :基于双向链表,插入/删除效率高,查询效率低。
  • Vector: 线程安全的动态数组,类似ArrayList,但是开销大。

2.Set接口:

  • 不能包含重复元素

例如:

  • HashSet:基于哈希表,元素无需。
  • LinkedHashSet::基于哈希表和链表,维护插入数据。
  • TreeSet::基于红黑树。

3.Queue接口:

  • PriorityQueue: 基于优先级堆,元素按照自然顺序或比较器排序
  • LinkedList: 可以作为队列使用,支持FIFO操作

二、Map接口:

key-value接口,可以通过key找到对应的value值。

  • HashMap:基于哈希表,键值对无序,不允许键重复。
  • LinkedHashMap:基于链表+哈希表,维护插入顺序,不允许键重复。
  • TreeMap:基于红黑树,键值对有序,不允许键重复。
  • Hashtable线程安全的哈希表不允许键或值为null。
  • ConcurrentHashMap线程安全的哈希表,适合高并发环境,不允许键或值为null。

相关文章:

  • Centos 7安装 NVIDIA CUDA Toolkit
  • Java 运算符入门指南
  • Win下的Kafka安装配置
  • 闪电贷攻击方式
  • C++(初阶)(十六)——set
  • 网络规划和设计
  • 2025年5月计划(Ue4.0shader源码抄写+ue独立游戏每天一小节)
  • 涨薪技术|0到1学会性能测试第42课-apache监控与调优
  • AI驱动视频批量智能混剪软件生产技术实践
  • README.md文档如何添加丰富多彩的badge标识,五颜六色的tag标签
  • vscode中设置eslint保存时自动格式化未生效
  • 解决vscode cmake提示检测到 #include 错误
  • CMU-15445(2)——PROJECT#0-C++PRIMER
  • ES集群搭建及工具类
  • Git 本地提交撤销
  • 施磊老师rpc(一)
  • Kubernetes 核心组件架构详解
  • PostgreSQL中的SSL
  • Nginx核心功能02
  • 【android bluetooth 协议分析 01】【HCI 层介绍 2】【Malformed Packet 介绍】
  • 49:49白热化,美参议院对新关税政策产生巨大分歧
  • 中国海警位中国黄岩岛领海及周边区域执法巡查
  • 160名老人报旅行团被扔服务区?张家界官方通报
  • 五一假期上海地铁部分线路将延时运营,这些调整请查收
  • 中使馆:奉劝菲方有关人士不要在台湾问题上挑衅,玩火者必自焚
  • 民调显示特朗普执政百日支持率为80年来美历任总统最低