当前位置: 代码迷 >> 综合 >> Java集合相关概念
  详细解决方案

Java集合相关概念

热度:77   发布时间:2023-10-08 18:36:32.0
数据结构分类:1. 线性结构0 至 1个直接q前继结点和直接后继包括:线性表、链表、栈、队列2. 树结构0 至 1个直接前继 和 0至n个直接后继 (n 大于或等于2)3. 图结构0 至 n个直接前继和直接后继4. 哈希结构没有直接前继和后继,哈希结构通过特定的哈希函数将索引与存储的值关联起来,查找效率非常高效的数据结构衡量算法的考量因素如O(n^3) 表示程序执行时间随着输入规模呈现三次方倍的增长。算法复杂度:常数级O(1), 对数级O(logn) 线性级O(n) 线性对数级O(nlogn) 平方级O(n^2) 立方级O(n^3)指数级O(2^n) CollectionJava中的集合是存储对象的工具类容器,它实现了常用的数据结构,提供一系列的公开方法用于新增、删除、修改、查找和遍历数据,降低了日常开发的成本。 List、Set、Map、 Queue List集合是线性数据结构的主要实现,List集合的遍历结果是稳定的,该体系最常用的是ArrayList和LinkedList两个集合类ArrayList集合是容器可以改变的非线程安全集合。内部实现使用数组进行存储,集合扩容时会创建更大空间的数组,把原有数据复制到新数组中,ArrayList支持对元素的快速随机访问,但是插入和删除速度很慢。LinkedList是双向链表。与ArrayList相比,它的插入和删除速度快,但随机访问速度慢Queue集合Queue队列是一种先进先出的数据机构,队列是一种特殊的线性表,它只允许在表的一端进行获取操作,在表的另一端进行插入。当队列没有元素时称为空队列。Map:它是以Key-Value键值对作为存储元素实现的哈希结构,Key是按照某种哈希函数计算后的唯一值,value则是可以重复的Map提供三种Collection视图keySet() 查看所有的Keyvalues() 查看所有的ValueentrySet() 查看所有键值对HashMap是线程不安全的,ConcurrentHashMap是线程安全的,在多线程环境下优先使用。TreeMap是Key有序的Map类集合Set集合Set是不允许出现重复元素的数据集合类型,Set系列最常用的是HashSet、TreeSet和LinkedHashSet