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迭代方式获取元素值。

  • 相关阅读:
    为什么股票一买就跌,一卖就涨?终于找到答案了!
    搜集的一些股票讲师的博客
    一位操盘手的临别赠言
    VMware网络连接 桥接、NAt、host-only模式
    我常用的网络测试工具
    linux下性能测试工具netperf使用
    vm10虚拟机安装Mac OS X10.10教程
    ACE_Svc_Handler 通信原理
    mypwd实现
    2019-2020-1 20175307 20175308 20175319 实验五 通讯协议设计
  • 原文地址:https://www.cnblogs.com/Huanghaihui/p/6114889.html
Copyright © 2011-2022 走看看