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

Java学习,数据结构

Java 提供了丰富的数据结构来处理和组织数据,Java的 java.util 包中提供了许多这些数据结构的实现,可以根据需要选择合适的类。

List(列表)
ArrayList:基于动态数组的数据结构,允许包含重复元素和 null。
List<String> arrayList = new ArrayList<>();

LinkedList:基于链表的数据结构,支持快速的插入和删除操作,但在随机访问方面效率较低。List<Integer> linkedList = new LinkedList<>();

Vector:类似于 ArrayList,但它是线程安全的(同步的)。

Stack:继承自 Vector,提供了后进先出(LIFO)的栈数据结构。

Stack<Integer> stack = new Stack<>();

Set(集合)
HashSet:基于哈希表的数据结构,不允许包含重复元素,并且不保证元素的顺序。

Set<String> hashSet = new HashSet<>();

LinkedHashSet:类似于 HashSet,但维护了元素的插入顺序。
TreeSet:基于红黑树的数据结构,不允许包含重复元素,元素按自然顺序或指定的比较器排序。

Set<Integer> treeSet = new TreeSet<>();

Queue(队列)
PriorityQueue:基于优先级堆的数据结构,不支持 null 元素,元素按优先级顺序出队。
ArrayDeque:一个双端队列,支持在两端进行高效的插入和删除操作。


LinkedList:也可以用作队列(通过 offer、poll 等方法)。

Queue<String> queue = new LinkedList<>();

ConcurrentLinkedQueue:一个基于链接节点的无界线程安全队列。
Map(映射)
HashMap:基于哈希表的数据结构,允许一个 null 键和多个 null 值。

Map<String, Integer> hashMap = new HashMap<>();

LinkedHashMap:类似于 HashMap,但维护了键值对的插入顺序或访问顺序。


TreeMap:基于红黑树的数据结构,不允许包含重复的键,按键的自然顺序或指定的比较器排序。Map<String, Integer> treeMap = new TreeMap<>();

Hashtable:类似于 HashMap,但它是线程安全的(同步的),且不允许 null 键或 null 值。
ConcurrentHashMap:一个线程安全的哈希映射,支持高效的并发访问。

 


http://www.kler.cn/a/417391.html

相关文章:

  • 【LeetCode】152、乘积最大子数组
  • 网络面试题(第一部分)
  • 【中间件】 Kafka
  • 实名制-网络平台集成身份证实名认证接口/身份证查询-PHP
  • C语言-----数据结构从门到精通
  • 4种架构的定义和关联
  • Rumor Containment by Spreading Correct Information in Social Networks
  • 深度学习之Mask-R-CNN
  • npm-运行项目报错:A complete log of this run can be found .......npm-cache_logs\
  • ArkTs内外边距,边框,背景图,横纵布局模式
  • 自动驾驶目标检测融合全貌
  • Qt 无法连接MySQL数据库
  • NVR录像机汇聚管理EasyNVR多个NVR同时管理基于B/S架构的技术特点与能力应用
  • 父子通信以及Props的使用
  • Android studio 利用cmake编译和使用so文件
  • 【K230 CanMV】machine.FPIOA、Pin 与 GPIO 全解析
  • 自然语言处理基础之文本预处理
  • C/C++中的调用约定
  • 【开篇】.NET开源 ORM 框架 SqlSugar 系列
  • 下载maven 3.6.3并校验文件做md5或SHA512校验
  • 深度学习中的梯度下降算法:详解与实践
  • Flink-State状态
  • 【STM32学习】TB6612FNG驱动芯片的学习,驱动电路的学习
  • sizeof和strlen区分,(好多例子)
  • hive3.1.3安装及基本例子
  • JS怎么实现Module模块化?