• 安卓 ArrayList,LinkedList,HashSet,Vector,TreeSet的区别和使用


    java的集合就那么几种 总体为:List,Set,Map (都是接口由其子类去实现具体的方法)

    ArrayList,LinkedList,Vector都属于List

    List:元素是有顺序的,元素可以重复因为每个元素有自己的角标(索引)
      |-- ArrayList:底层的数据结构是数组结构,特点是:查询很快,增 删 稍微慢点,线程不同步

      |-- LinkedList:底层使用的是链表数据结构,特点是:增 删很快,查询慢。

      |--Vector:底层是数组数据结构,线程同步,被ArrayList代替了,现在用的只有他的枚举。


    Set:元素是无序的,且不可以重复(存入和取出的顺序不一定一致),线程不同步。

      |--HashSet:底层是哈希表数据结构。根据hashCode和equals方法来确定元素的唯一性

      |--TreeSet:可以对Set集合中的元素进行排序(自然循序),底层的数据结构是二叉树,也可以自己写个类实现Comparable 或者 Comparator 接口,定义自己的比较器,将其作为参数传递给TreeSet的构造函数。

    Map:这个集合是存储键值对的,一对一对往里存,而且要确保键的唯一性(01,张三)这样的形式打印出来就是  01=张三
       |--HashTable:底层是哈希表数据结构,不可以存入null键和null值,该集合线程是同步的,效率比较低。出现于JDK1.0

       |--HashMap:底层是哈希表数据结构,可以存入null键和null值,线程不同步,效率较高,代替了HashTable,出现于JDK 1.2

       |--TreeMap:底层是二叉树数据结构,线程不同步,可以用于个map集合中的键进行排序

  • 相关阅读:
    【CYH-02】NOIp考砸后虐题赛:成绩:题解
    UVA12657 Boxes in a Line:题解
    洛谷团队月赛题:题解
    UVA10071 Back to High School Physics:题解
    NOIp2018普及组T3暨洛谷P5017 摆渡车:题解
    洛谷P2001 硬币的面值 题解
    洛谷P1033 自由落体 题解
    尴尬
    UVA11988 【Broken Keyboard (a.k.a. Beiju Text)】:题解
    linux基础命令学习(十二)yum命令
  • 原文地址:https://www.cnblogs.com/lucky-star-star/p/3855488.html
Copyright © 2020-2023  润新知