zoukankan      html  css  js  c++  java
  • Java集合常用类特点整理

    集合的结构如下图所示:

    Java集合常用类特点整理


    集合的两个顶级接口分别为:Collection和Map

    Collection下有两个比较常用的接口分别是List(列表)和Set(集),其中List可以存储重复元素,元素是有序的(存取顺序一致),可以通过List脚标来获取指定元素;而Set不可以有重复元素,元素是无序的。

    List接口中,比较常用的类有三个:ArrayList、Vactor、LinkedList。

    ArrayList :线程不安全的,对元素的查询速度快。

    Vector :线程安全的,多了一种取出元素的方式:枚举(Enumeration),但已被ArrayList取代。

    LinkedList :链表结构,对元素的增删速度很快。

    Set接口中,比较常用的类有两个:HashSet、TreeSet:

    HashSet:要保证元素唯一性,需要覆盖掉Object中的equals和hashCode方法(因为底层是通过这两个方法来判断两个元素是否是同一个)。

         

    TreeSet:以二叉树的结构对元素进行存储,可以对元素进行排序。

          排序的两种方式:

                 1、元素自身具备比较功能,元素实现Comparable接口,覆盖compareTo方法。

                 2、建立一个比较器对象,该对象实现Comparator接口,覆盖compare方法,并将该对象作为参数传给TreeSet的构造函数(可以用匿名内部类)。

    Map接口其特点是:元素是成对出现的,以键和值的形式体现出来,键要保证唯一性:常用类有:HashMap,Hashtable ,TreeMap。

    HashMap:线程不安全等的,允许存放null键null值。

    Hashtable:线程安全的,不允许存放null键null值。

    TreeMap:可以对键进行排序(要实现排序方法同TreeSet)。

    Collection和Map两个接口对元素操作的区别:

    存入元素:

    Collection接口下的实现类通过add方法来完成,而Map下是通过put方法来完成。

    取出元素:

    Collection接口下:List接口有两种方式:1、get(脚标);2、通过Iterator迭代方式获取元素;而Vactor多了一种枚举(Enumeration)的方式。Set接口通过迭代的方式获取元素。

    Map接口下:先通地keySet获取键的系列,然后通过该系列使用Iterator迭代方式获取元素值。

  • 相关阅读:
    Effective_STL 学习笔记(四十) 使仿函数类可适配
    Effective_STL 学习笔记(三十九) 用纯函数做判断式
    PMP考试大纲
    小技巧
    git 常用命令
    java web的返回值对象
    工作任务-SM敏捷核心思维
    树莓派上手
    spring 公用异常处理
    前端现在版本怎么这么乱
  • 原文地址:https://www.cnblogs.com/Huanghaihui/p/6114889.html
Copyright © 2011-2022 走看看