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()方法。

    待续...

  • 相关阅读:
    实验0 了解和熟悉操作系统一、目的和要求
    读后感
    有穷自动机自动转化
    文法分析
    词法分析随笔
    git操作笔记
    面试题汇总
    MYSQL数据库设计
    Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用
    invalid comparison:java.util.Date and java.lang.String
  • 原文地址:https://www.cnblogs.com/yunche/p/9550654.html
Copyright © 2011-2022 走看看