Java集合相关概念

数据结构分类:
    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)

 Collection
     Java中的集合是存储对象的工具类容器,它实现了常用的数据结构,提供一系列的公开方法用于
 新增、删除、修改、查找和遍历数据,降低了日常开发的成本。


 List、Set、Map、 Queue

    List集合是线性数据结构的主要实现,List集合的遍历结果是稳定的,该体系最常用的是ArrayList和
    LinkedList两个集合类

    ArrayList集合是容器可以改变的非线程安全集合。内部实现使用数组进行存储,集合扩容时会创建更大
    空间的数组,把原有数据复制到新数组中,ArrayList支持对元素的快速随机访问,但是插入和删除速度很慢。

    LinkedList是双向链表。与ArrayList相比,它的插入和删除速度快,但随机访问速度慢

    Queue集合
       Queue队列是一种先进先出的数据机构,队列是一种特殊的线性表,它只允许在表的一端进行获取操作,在表
    的另一端进行插入。当队列没有元素时称为空队列。

    Map:
       它是以Key-Value键值对作为存储元素实现的哈希结构,Key是按照某种哈希函数计算后的唯一值,
    value则是可以重复的
        Map提供三种Collection视图
           keySet() 查看所有的Key
           values() 查看所有的Value
           entrySet() 查看所有键值对

    HashMap是线程不安全的,ConcurrentHashMap是线程安全的,在多线程环境下优先使用。
    TreeMap是Key有序的Map类集合

    Set集合
        Set是不允许出现重复元素的数据集合类型,Set系列最常用的是HashSet、TreeSet和LinkedHashSet
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值