zoukankan      html  css  js  c++  java
  • java集合类

     

     

    Java集合类

    一、Java集合类大致可以分为Set、List、Queue和Map四种体系。

    1、  Set代表无序、不可重复的集合

    2、  List代表有序、重复的集合

    3、  Map代表具有映射关系的集合

    4、  Queue是一种队列集合的实现

     

    Java集合和数组的区别?

    1、  数组的长度在初始化时指定,意味着只能保存定长的数据。而集合可以保存的数量不确定的数据。同时可以保存具有映射关系的数据。

    2、  数组元素可以是基本类型、也可以是对象。集合中只能保存对象(实际上只是保存对象的引用变量),基本的数据类型的变量要变换成对应的包装类才能加入到集合中。

     

     

     

     

    Collection接口的继承关系

    其中的ArrayList、HashSet、LinkedList、TreeSet是我们经常使用的集合类

     

    Map接口的继承关系

    其中的HashMap、TreeMap是我们经常使用的集合类

     

     

     

    Collection接口详解

    Collection

    1、  List 有序(存储顺序和取出顺序一致),可重复

    2、  ArrayList 线程不安全,底层是使用数组实现,查询块,增删慢。效率高。

    3、  LinkedList,线程不安全,底层是使用链表实现,查询慢,增删块。效率高。

    4、  Vector,线程安全,底层是使用数组实现,查询块,增删慢。效率低。每次容量不足的时候,默认是自增长1倍(如果不知道容量的话),如下的代码:

            int newCapacity = oldCapacity + ((capacityIncrement > 0) ?

                                             capacityIncrement : oldCapacity);

    5、  Set 元素唯一,最多包含一个null元素。

    6、  HashSet 底层是由HashMap实现,通过对象的hashcode方法和equals方法保证插入元素的唯一性,无序。

    7、  LinkedHashSet 底层数据结构由哈希表和链表组成。哈希表保证元素的唯一性,链表保证元素有序。(存储和取出是一致的)

    8、  TreeSet 基于 TreeMap 的 NavigableSet 实现。使用元素的自然顺序对元素进行排序或者根据创建 set 时提供的 Comparator 进行排序,具体取决于使用的构造方法。元素唯一。

    ArrayList

    LinkedList

    Vector

    HashSet

     List接口

     

  • 相关阅读:
    第三个失踪人员,查找在日本王军的朋友
    web.xmlf多ilter在执行顺序
    HDU 1885 Key Task 国家压缩+搜索
    POJ--2923--Relocation--如压力DP
    唯物论、辩证法和认识论
    唯物辩证法的“三大规律”和“五大范畴”-联系与发展
    分析法
    方法论
    哲学的基本问题是什么
    事物分析是一切问题解决的基础和起点
  • 原文地址:https://www.cnblogs.com/wylwyl/p/10225923.html
Copyright © 2011-2022 走看看