2025年【集合简要】

【集合简要】作者 TheMythWS 座右铭 不走心的努力都是在敷衍自己 让自己所做的选择 熠熠发光 目录 1 什么是集合 2 集合结构图 3 集合的应用场景 1 什么是集合 1 数组

大家好,我是讯享网,很高兴认识大家。

🌠作者:@TheMythWS.

🎇座右铭:不走心的努力都是在敷衍自己,让自己所做的选择,熠熠发光。

 

55fed1fdb55744eb906c5fb92f79d75f.jpeg
讯享网

目录

1️⃣什么是集合

2️⃣集合结构图

3️⃣集合的应用场景


 

1.什么是集合

【1】数组,集合都是对多个数据进行存储操作的,简称为容器
PS:这里的存储指的是内存层面的存储,而不是持久化存储(.txt,.avi,.jpg,数据库)。

【2】数组:特点:
(1)数组一旦指定了长度,那么长度就被确定了,不可以更改。
int[] arr = new int[6];
(2)数组一旦声明了类型以后,数组中只能存放这个类型的数据。数组中只能存放同一种类型的数据。
int[] arr,String[] s,double[] d.....

【3】数组:缺点:
(1)数组一旦指定了长度,那么长度就被确定了,不可以更改。
(2)删除,增加元素  效率低。
(3)数组中实际元素的数量是没有办法获取的,没有提供对应的方法或者属性来获取
(4)数组存储:有序,可重复 ,对于无序的,不可重复的数组不能满足要求。

【4】正因为上面的缺点,引入了一个新的存储数据的结构---》集合

Java集合是一组用于存储和操作对象的容器类。它提供了各种数据结构和算法,用于管理和操作对象的集合。Java集合框架提供了一组接口和类,用于表示不同类型的集合,包括列表、集合、映射和队列等。

Java集合框架的核心接口包括:

Collection:表示一组对象的集合。它是最基本的集合接口,定义了一些通用的操作,如添加、删除、查找、迭代等。
List:有序集合,允许重复元素。可以通过索引访问元素。
Set:无序集合,不允许重复元素。元素是唯一的。
Queue:队列,通常以先进先出(FIFO)的方式处理元素。
Map:表示键值对的映射集合。它提供了通过键查找值的功能。键是唯一的,值可以重复。
HashMap:基于哈希表实现的无序键值对集合。
TreeMap:基于红黑树实现的有序键值对集合。
Java集合框架还提供了一些实用工具类,如Collections和Arrays,用于操作和转换集合。

Java集合框架的设计目标是提供高性能、类型安全、可扩展和易用的集合类,以满足各种应用场景的需求。它提供了丰富的功能和灵活的接口,可以方便地处理各种数据集合操作。

2.集合结构图

简要集合结构图:

29efe85396414bbf95c2051a9a12fc68.png

比较完善的集合结构图:

deaadf18a6764f148657b84630502c5e.png

1. Collection:是一个接口,包含了大部分容器常用的一些方法 
2. List:是一个接口,规范了ArrayList 和 LinkedList中要实现的方法 
ArrayList:实现了List接口,底层为动态类型顺序表 
LinkedList:实现了List接口,底层为双向链表 
3. Stack:底层是栈,栈是一种特殊的顺序表 
4. Queue:底层是队列,队列是一种特殊的顺序表
5. Deque:是一个接口 
6. Set:集合,是一个接口,里面放置的是K模型 
HashSet:底层为哈希桶,查询的时间复杂度为O(1) 
TreeSet:底层为红黑树,查询的时间复杂度为O(log2N),关于key有序
7. Map:映射,里面存储的是K-V模型的键值对 
HashMap:底层为哈希桶,查询时间复杂度为O(1) 
TreeMap:底层为红黑树,查询的时间复杂度为O(log2N),关于key有序

3.集合的应用场景

前端后端数据库交互:

e21024b71ff349acaebc01dcb9e89629.png

当需要将相同结构的个体整合到一起的时候,需要集合

实际应用场合:

c255b28ac1f94a4f8972c1ee57d45aaf.png

926e802730f340b3a0be5b0258835951.png

其它应用场景:

数据库操作:在Java应用程序中,可以使用集合来存储和操作数据库检索的结果集。将查询结果存储在集合中,方便进行筛选、排序和聚合等操作。
缓存管理:集合可以用作缓存的数据结构,将常用的数据存储在内存中,以提高访问速度。通过合适的缓存策略(如LRU)管理集合中的数据。
日志记录:在日志记录中,可以使用集合来存储和管理日志条目。例如,使用ArrayList来存储日志记录,以便进行搜索、过滤和分析。
任务调度:在任务调度系统中,可以使用队列(如LinkedBlockingQueue)来管理待处理的任务。生产者可以将任务添加到队列,而消费者可以从队列中获取任务进行处理。
网络通信:在网络通信中,可以使用集合来存储和管理接收到的消息。例如,使用LinkedList来存储接收到的消息队列,并使用HashMap来存储已处理的消息。
图形用户界面(GUI):在GUI应用程序中,集合可以用于存储和管理用户界面组件。例如,使用ArrayList来存储和管理按钮、文本框等组件。
数据分析和处理:在数据分析和处理领域,可以使用集合来存储和处理大量的数据。例如,使用HashSet来去重数据,使用HashMap进行数据的聚合和分组。
并发编程:在多线程编程中,可以使用并发安全的集合类(如ConcurrentHashMap、ConcurrentLinkedQueue)来安全地共享和操作数据。

 

小讯
上一篇 2025-03-28 22:24
下一篇 2025-02-16 10:20

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/126198.html