zoukankan      html  css  js  c++  java
  • Java Collection、Map集合总结

    1.Java中的Collection集合总结

    Collection

      |---List(存储有序,可重复)

        |---ArrayList

          底层数据结构是数组,查询,增删慢。

          线程不安全、效率高

        |---Vector

          底层数据结构是数组,查询快,增删慢。

          线程安全、效率低。

        |---LinkedList

          底层数据结构是链表,查询慢,增删快。

          线程不安全,效率高

      |---Set(存储无序,元素唯一)

        |---HashSet

          底层数据结构是哈希表。

          依赖hashCode()和equals()两个方法进行保证元素唯一性,开发中使用开发工具自动生成就好。

          |---LinkedHashSet

            底层数据结构是链表和哈希表

            链表保证元素有序

            哈希表保证元素唯一

        |---TreeSet

          底层数据结构是红黑树。

          如何保证元素排序呢?自然排序或者比较器排序。

          如何保证元素唯一呢?根据比较结果是否为0来进行判断。

    Map

      |---HashMap

        底层是数组链表,使用hash算法来保证元素存储位置

          |---LinkedHashMap

      |---TreeMap

        底层是红黑树实现。

    集合中常见的数据结构总结

      ArrayXxx:底层数据结构是数组,查询快,增删慢
      LinkedXxx:底层数据结构是链表,查询慢,增删快
      HashXxx:底层数据结构是哈希表。依赖两个方法:hashCode()和equals()
      TreeXxx:底层数据结构是二叉树。两种方式排序:自然排序和比较器排序

    Collection和Collections的区别?

      1.Collection 是单列集合的顶层接口,有两个子接口List和Set

      2.Collections 是针对集合进行操作的工具类,可以对集合进行排序和查找等

  • 相关阅读:
    Educational Codeforces Round 10 C. Foe Pairs 水题
    Educational Codeforces Round 10 B. z-sort 构造
    CDOJ 1048 Bob's vector 三分
    Educational Codeforces Round 10 A. Gabriel and Caterpillar 模拟
    第14届电子科大初赛民间盗版部分题目题解
    HDU 5654 xiaoxin and his watermelon candy 离线树状数组 区间不同数的个数
    HDU 5653 Bomber Man wants to bomb an Array. dp
    HDU 5652 India and China Origins 二分+并查集
    HDU 5651 xiaoxin juju needs help 数学
    HDU 5650 so easy 数学
  • 原文地址:https://www.cnblogs.com/hafiz/p/5452876.html
Copyright © 2011-2022 走看看