zoukankan      html  css  js  c++  java
  • Java集合框架

    Java完整容器分类图

    图片来源:

      点线框代表接口,实线框代表普通的(具体的)类,空心白箭头的点线表示一个特定的类实现了一个接口,实心黑箭头表示某个类可以生成箭头所指向类的对象。

    ArrayList与LinkedList的区别

      ArrayList的底层数据结构是数组,它擅长于随机访问元素,使用下标查找元素的时间复杂度是O(1),但是在ArrayList的中间插入和移除元素时比较慢。

      LinkedList的底层数据结构是双向循环链表,不支持随机访问,使用下标查找元素的时间复杂度是O(n),但是在LinkedList中间进行插入和删除代价花费较小,速度比ArrayList快。(注:具体的问题,请具体分析,不一定LinkedList快)

    Set

      Set(interface):存入set的元素必须是唯一的,加入Set的元素必须定义equals方法以确保对象的唯一性,Set接口不保证维护元素的次序。

      *HashSet(默认选择):为快速查找而设计的Set。存入HashSet的元素必须定义hashCode()

      TreeSet:保持次序的Set,底层为树结构。使用它可以从Set中提取有序的序列。元素必须实现Comparable接口。

      LinkedHashSet:具有HashSet的查询速度,且内部使用链表维护元素的顺序(插入次序)。元素也必须定义hashCode()方法。

    待续...

  • 相关阅读:
    记一道有趣的数学题
    BJOI2018 二进制
    BJOI2016 IP地址
    BJOI2016 回转寿司
    BJOI2017 开车
    BJOI2019 光线
    java 下载
    springboot 运行相关命令
    sql mapper 里面 Integer 类型判断
    springboot 访问jar同级别下的文件访问问题
  • 原文地址:https://www.cnblogs.com/yunche/p/9550654.html
Copyright © 2011-2022 走看看