Java集合

简介: Java 集合主要包括 Collection 和 Map 两种:1、Collection 是一种存储元素的集合,Collection 包括 List、Set、Queue 三种类型。2、Map 是一种存储键值对的集合。

介绍 Java 集合

Java 集合主要包括 Collection 和 Map 两种:

  • Collection 是一种存储元素的集合,Collection 包括 List、Set、Queue 三种类型。
  • Map 是一种存储键值对的集合。

1630675702084-fa98eb11-0a01-402e-b5fc-d42474e1c70d.png

1630675883059-72bfd0b3-c95e-4ec8-9c93-554975b69a84.png

介绍 Collection

Collection 包括 List、Set、Queue 三种类型。

List 是一种有序(可以按照插入顺序访问元素)的集合;List 集合中的元素允许重复;可以使用索引访问 List 集合中的元素。List 的实现类有 Vector、CopyOnWriteArrayList、ArrayList、LinkedList。

Set 集合中的元素不允许重复;Set 集合中的元素不支持索引访问,可以使用 Set 集合以 O(1) 的时间复杂度快速判断一个元素在集合中是否存在。Set 的实现类有 HashSet、LinkedHashSet、TreeSet。

Queue 是一种元素先进先出的集合,Queue 集合允许在队列的一端添加元素,并从队列的另一端取出元素。Queue 的实现类有 LinkedList、PriorityQueue。

介绍 Map

Map 是一种存储键值对的集合。Map 集合的特点是:可以快速查找 key 对应的 value 值。

Map 的实现类有 Hashtable、HashMap、LinkedHashMap、TreeMap、ConcurrentHashMap。

  • 是否是线程安全的 Map:HashMap、LinkedHashMap、TreeMap 不是线程安全的;Hashtable、ConcurrentHashMap 是线程安全的
  • 底层存储结构:Hashtable 的底层存储结构是数组 + 链表,HashMap 的底层存储结构是数组 + 链表 + 红黑树,LinkedHashMap 继承了 HashMap,TreeMap 的底层存储结构是红黑树,ConcurrentHashMap 的底层存储结构是数组 + 链表 + 红黑树

介绍 Set

Set 集合中的元素不允许重复;Set 集合中的元素不支持索引访问,可以使用 Set 集合以 O(1) 的时间复杂度快速判断一个元素在集合中是否存在。Set 的实现类有 HashSet、LinkedHashSet、TreeSet、CopyOnWriteArraySet。

Java 对 Map 集合类型进行封装实现了 Set 集合类型。HashSet 组合了一个 HashMap 类型的对象;LinkedHashSet 继承了 HashSet,组合了一个 LinkedHashMap 类型的对象;TreeSet 组合了一个 TreeMap 类型的对象。

介绍 List

List 是一种有序(可以按照插入顺序访问元素)的集合;List 集合中的元素允许重复;可以使用索引访问 List 集合中的元素。

List 的实现类有 Vector、CopyOnWriteArrayList、ArrayList、LinkedList。

  • 是否是线程安全的 List:Vector、CopyOnWriteArrayList 是线程安全的,ArrayList、LinkedList 不是线程安全的
  • 底层存储结构:Vector、ArrayList 的底层存储结构是一个 Object 类型的数组,LinkedList 的底层存储结构是一个双向链表

介绍 Queue

Queue 是一种元素先进先出的集合,Queue 集合允许在队列的一端添加元素,并从队列的另一端取出元素。

Queue 的实现类有 LinkedList、PriorityQueue、BlockingQueue 接口的实现类。

  • 是否是线程安全的 Queue:BlockingQueue 接口的实现类是线程安全的,LinkedList、PriorityQueue 不是线程安全的
  • 底层存储结构:LinkedList 的底层存储结构是一个双向链表,PriorityQueue 的底层存储结构是一个 Object 类型的数组
相关文章
|
3月前
|
存储 安全 Java
常见 JAVA 集合面试题整理 自用版持续更新
这是一份详尽的Java集合面试题总结,涵盖ArrayList与LinkedList、HashMap与HashTable、HashSet与TreeSet的区别,以及ConcurrentHashMap的实现原理。内容从底层数据结构、性能特点到应用场景逐一剖析,并提供代码示例便于理解。此外,还介绍了如何遍历HashMap和HashTable。无论是初学者还是进阶开发者,都能从中受益。代码资源可从[链接](https://pan.quark.cn/s/14fcf913bae6)获取。
176 3
|
2月前
|
Oracle Java 关系型数据库
掌握Java Stream API:高效集合处理的利器
掌握Java Stream API:高效集合处理的利器
329 80
|
2月前
|
安全 Java API
Java 8 Stream API:高效集合处理的利器
Java 8 Stream API:高效集合处理的利器
219 83
|
5月前
|
消息中间件 算法 安全
JUC并发—1.Java集合包底层源码剖析
本文主要对JDK中的集合包源码进行了剖析。
|
2月前
|
并行计算 Java API
Java List 集合结合 Java 17 新特性与现代开发实践的深度解析及实战指南 Java List 集合
本文深入解析Java 17中List集合的现代用法,结合函数式编程、Stream API、密封类、模式匹配等新特性,通过实操案例讲解数据处理、并行计算、响应式编程等场景下的高级应用,帮助开发者提升集合操作效率与代码质量。
120 1
|
2月前
|
存储 缓存 NoSQL
java 集合入门基础理论的核心概念与实用长尾知识
本文介绍了Java集合框架的基础理论知识,包括单列集合(List、Set、Queue)和双列集合(Map)的特点及常用实现类(如ArrayList、HashSet、HashMap等)。详细讲解了集合的遍历方式(迭代器、增强for循环、Lambda表达式)和典型应用场景(如数据去重、键值存储等)。通过具体代码示例,帮助初学者理解集合框架的核心概念和实际应用,为Java编程中的数据存储与管理提供基础指导。
71 0
|
2月前
|
安全 Java API
Java 集合高级应用与实战技巧之高效运用方法及实战案例解析
本课程深入讲解Java集合的高级应用与实战技巧,涵盖Stream API、并行处理、Optional类、现代化Map操作、不可变集合、异步处理及高级排序等核心内容,结合丰富示例,助你掌握Java集合的高效运用,提升代码质量与开发效率。
179 0
|
2月前
|
存储 安全 Java
Java 学习路线 35 掌握 List 集合从入门到精通的 List 集合核心知识
本文详细解析Java中List集合的原理、常用实现类(如ArrayList、LinkedList)、核心方法及遍历方式,并结合数据去重、排序等实际应用场景,帮助开发者掌握List在不同业务场景下的高效使用,提升Java编程能力。
277 0
|
3月前
|
安全 Java API
Java最新技术(JDK 11+) 及以上 Java 最新技术之集合框架实操应用详解
本示例基于Java最新技术(JDK 11+),涵盖集合框架的核心功能,结合Java 8+特性(如Stream API、Lambda表达式)与并发编程最佳实践。内容包括:List操作(初始化、Lambda过滤、Stream处理)、Map操作(流式过滤、ConcurrentHashMap原子操作、并行流)、Set操作(TreeSet排序、CopyOnWriteArraySet并发安全)、Queue/Deque操作(优先队列、双端队列)以及高级聚合操作(集合转换、分组统计、平均值计算)。 [代码下载](https://pan.quark.cn/s/14fcf913bae6)
69 4