zoukankan      html  css  js  c++  java
  • 集合小结

                              集合框架的构成及分类

     Collection常用的子接口:

      List:元素是有序的,元素可以重复,因为该集合体系有索引。

      Set:元素无序,元素不可以重复。

    List常用的实现类:

      ArraryList:底层使用的是数组数据结构。特点是:查询速度快,但增删速度慢。线程不同步。

      LinkedList:底层使用的是链表数据结果。特点是:增删速度快,查询速度慢。线程不同步

      Vector:底层使用的数据数据结构。线程同步,被ArraryList代替了。增删,查询速度都慢。

    Set常用的实现类:

     

      HashSet:底层使用的哈希表数据结构

           HashSet通过hashCode和equals方法来保证元素的唯一性。如果元素的HashCode值相同才会判断equals是否为true,如果元素的

           Hashcode值不同则不会调用equals方法。

      TreeSet:底层使用的二叉树数据结构

           可以对集合中的元素进行排序。底层通过二叉树来保证元素的唯一。

           TreeSet排序的第一种方式:让元素自身具备比较性。元素需要实现Comparable接口,覆盖CompareTo方法。

           TreeSet排序的第二种方式:当元素自身不具备比较性时,或者具备的比较性不是所需要的这时需要让容器自身具备比较性

                        定义比较器,将比较器对象作为参数传递给TreeSet集合的构造函数。

           当两种排序都存在时以比较器为主。

  • 相关阅读:
    cf 1179 C
    P5055 【模板】可持久化文艺平衡树 可持久化fhqtreap
    bzoj4605: 崂山白花蛇草水 权值线段树套KDtree
    luoguP4173 残缺的字符串 FFT
    [HNOI2016]序列 CDQ+DP
    [TJOI2017]不勤劳的图书管理员
    loj2058 「TJOI / HEOI2016」求和 NTT
    bzoj4503: 两个串
    luoguP4721 【模板】分治 FFT
    [Cqoi2016]K远点对 K-Dtree
  • 原文地址:https://www.cnblogs.com/dafa4java/p/3254902.html
Copyright © 2011-2022 走看看