
作者TheMythWS.座右铭不走心的努力都是在敷衍自己让自己所做的选择熠熠发光。目录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】正因为上面的缺点引入了一个新的存储数据的结构---》集合【5】集合一章我们会学习很多集合为什么要学习这么多集合呢因为不同集合底层数据结构不一样。集合不一样特点也不一样Java集合是一组用于存储和操作对象的容器类。它提供了各种数据结构和算法用于管理和操作对象的集合。Java集合框架提供了一组接口和类用于表示不同类型的集合包括列表、集合、映射和队列等。Java集合框架的核心接口包括Collection表示一组对象的集合。它是最基本的集合接口定义了一些通用的操作如添加、删除、查找、迭代等。List有序集合允许重复元素。可以通过索引访问元素。Set无序集合不允许重复元素。元素是唯一的。Queue队列通常以先进先出FIFO的方式处理元素。Map表示键值对的映射集合。它提供了通过键查找值的功能。键是唯一的值可以重复。HashMap基于哈希表实现的无序键值对集合。TreeMap基于红黑树实现的有序键值对集合。Java集合框架还提供了一些实用工具类如Collections和Arrays用于操作和转换集合。Java集合框架的设计目标是提供高性能、类型安全、可扩展和易用的集合类以满足各种应用场景的需求。它提供了丰富的功能和灵活的接口可以方便地处理各种数据集合操作。2.集合结构图简要集合结构图比较完善的集合结构图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.集合的应用场景前端后端数据库交互当需要将相同结构的个体整合到一起的时候需要集合。实际应用场合其它应用场景数据库操作在Java应用程序中可以使用集合来存储和操作数据库检索的结果集。将查询结果存储在集合中方便进行筛选、排序和聚合等操作。缓存管理集合可以用作缓存的数据结构将常用的数据存储在内存中以提高访问速度。通过合适的缓存策略如LRU管理集合中的数据。日志记录在日志记录中可以使用集合来存储和管理日志条目。例如使用ArrayList来存储日志记录以便进行搜索、过滤和分析。任务调度在任务调度系统中可以使用队列如LinkedBlockingQueue来管理待处理的任务。生产者可以将任务添加到队列而消费者可以从队列中获取任务进行处理。网络通信在网络通信中可以使用集合来存储和管理接收到的消息。例如使用LinkedList来存储接收到的消息队列并使用HashMap来存储已处理的消息。图形用户界面GUI在GUI应用程序中集合可以用于存储和管理用户界面组件。例如使用ArrayList来存储和管理按钮、文本框等组件。数据分析和处理在数据分析和处理领域可以使用集合来存储和处理大量的数据。例如使用HashSet来去重数据使用HashMap进行数据的聚合和分组。并发编程在多线程编程中可以使用并发安全的集合类如ConcurrentHashMap、ConcurrentLinkedQueue来安全地共享和操作数据。