zoukankan      html  css  js  c++  java
  • Java之集合

    一、相关概念

    1.集合框架

     

     接口:定义规范

       |

    抽象类:实现一部分通用方法

       |

    普通类:重写接口/抽象类的所有抽象方法。

    Collection 接口的接口 对象的集合(单列集合)
    ├——-List 接口:元素按进入先后有序保存,可重复
    │—————-├ LinkedList 接口实现类, 链表, 插入删除, 没有同步, 线程不安全
    │—————-├ ArrayList 接口实现类, 数组, 随机访问, 没有同步, 线程不安全
    │—————-└ Vector 接口实现类 数组, 同步, 线程安全
    │ ———————-└ Stack 是Vector类的实现类
    └——-Set 接口: 仅接收一次,不可重复,并做内部排序
    ├—————-└HashSet 使用hash表(数组)存储元素
    │————————└ LinkedHashSet 链表维护元素的插入次序
    └ —————-TreeSet 底层实现为二叉树,元素排好序

    Map 接口 键值对的集合 (双列集合)
    ├———Hashtable 接口实现类, 同步, 线程安全
    ├———HashMap 接口实现类 ,没有同步, 线程不安全-
    │—————–├ LinkedHashMap 双向链表和哈希表实现
    │—————–└ WeakHashMap
    ├ ——–TreeMap 红黑树对所有的key进行排序
    └———IdentifyHashMap

    2.集合接口

       List:元素有序,可重复。类似动态数组。

        1)ArrayList

        2)LinkedList

        3)Vertor

       Set:元素无,不可重复。类似数学中的集合。

        1)HashSet

        2)TreeSet

        Map:具有映射关系key-value键值对的集合。类似数学中的函数。

         1)HashMap:数组+链表+红黑树与ConcurrentHashMap:线程安全,分段锁

      HashMap实现原理

      HashMap如何解决hash冲突:链地址法

      

      2)TreeMap

         3)HashTable

    3.集合遍历 Iterator

     

  • 相关阅读:
    UVA10765图论+点-双连通分量性质应用
    LA4287图论+ 有向图SCC+缩点
    LA5135图论+ 割点性质运用
    LA2572计算几何+离散化+面的覆盖
    LA2402暴力枚举+计算几何+四边形面积
    UVA10566计算几何+相似三角形比例函数+二分范围的辨析
    UVA11300计算几何:正n边形内的最长的线
    UVA11524平面几何+二分法+海伦公式
    LA4986三分法求出凹性函数最小值+计算几何
    胜利大逃亡--hdu --1253(bfs)
  • 原文地址:https://www.cnblogs.com/wenxiangchen/p/11440667.html
Copyright © 2011-2022 走看看