zoukankan      html  css  js  c++  java
  • Java常用集合体系以及相互区别

    这里写图片描述

    Collection集合特点:

    1.2.1一些 collection 允许有重复的元素,而另一些则不允许
    1.2.2一些 collection 是有序的,而另一些则是无序的
    【有序是指与添加的顺序一致,并非是按照一定的要求来排列形成的有序,如从大到小,小到大等】

    Collections

    在类中还用一个和Collection功能能类似的工具类Collections:

    此类完全由在 collection 上进行操作或返回 collection 的静态方法组成

    比如添加数据:
    Collections.addAll(Collection

    ArrayList集合特点:

    1.有序,允许重复(有序指跟添加顺序一致)
    2.有下标,可以通过下标获取元素,以及将元素插入指定位置
    3.底层使用的数据结构是数组,线程不安全
    4.数组在内存地址是连续的,因此查找时快,增删速度慢查找速度快,增删速度慢

    LinkedList集合特点:

    1,有序,允许重复(有序指与添加顺序一致)
    2,有下标,可以通过下标获取元素,以及将元素插入指定位置
    3,底层使用的数据结构是链表以及堆栈结构,线程不安全
    4,链表内存地址不连续,因此查找速度慢,增删速度快

    HashSet特点

    1.无序,不允许重复(无序指元素顺序与添加顺序不一致,每次遍历出来的位置不是恒久不变的)
    2.HashSet通过调用hashCode()和equals方法来剔除重复
    3.HashSet底层使用的数据结构是哈希表
    4.HashSet有初始容量16,加载因子0.75.这两个参数都可以设置

    TreeSet集合特点:

    1.无序,不允许重复
    2.底层使用的数据结构是二叉树
    3.TreeSet集合一定要实现一种排序 否则就会 ClassCastException
    4.有两种排序:自然排序和定制排序

    HashMap集合特点:

    1.无序,不允许重复(无序指元素顺序与添加顺序不一致);
    2.底层数据结构是哈希表
    3.HashMap内部对”键”用Set进行散列存放。所以根据”键”去取”值”的效率很高。
    4.键是唯一的,值是可以重复的
    5.能出现最多一个null键,任意多个null值

    TreeMap特点:

    1.无序,不允许重复(无序指元素顺序与添加顺序不一致)
    2.TreeMap集合默认会对键进行排序,所以键必须实现自然排序和定制排序中的一种
    3..底层使用的数据结构是二叉树

  • 相关阅读:
    51nod贪心算法入门-----完美字符串
    HDU6030----矩阵快速幂
    O(n)求1~n的逆元
    (四)添加签到奖励功能
    (三)开始在OJ上添加签到功能
    (二)OJ的主要文件
    (一)在linux上ubuntu搭建hustOJ系统
    CF 148A Insomnia cure
    lower_bound和upper_bound
    C++ string的常用功能
  • 原文地址:https://www.cnblogs.com/TCB-Java/p/6770132.html
Copyright © 2011-2022 走看看