Java集合常用类

常用集合类的结构如下图

这里写图片描述


集合框架

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

单列集合(Collection)和双列集合(Map)特点如下

一、Collection:单列集合类的根接口,有两个重要的子接口,即 List 和 Set

  • List 接口特点是元素有序、元素可重复,主要实现类有 ArrayList、LinkedList、Vector

    • ArrayList :线程不安全的,对元素的查询速度快。
    • LinkedList :链表结构,对元素的增删速度很快。
    • Vector :线程安全的,多了一种取出元素的方式:枚举(Enumeration),但已被ArrayList取代
  • Set 接口特点是元素无序并且不可重复,主要实现类有 HashSet 和 TreeSet

    • HashSet:要保证元素唯一性,需要覆盖掉Object中的equals和hashCode方法(因为底层是通过这两个方法来判断两个元素是否是同一个)。
    • TreeSet:以二叉树的结构对元素进行存储,可以对元素进行排序,排序的两种方式:
      • 第一种方式:元素自身具备比较功能,元素实现Comparable接口,覆盖compareTo方法。
      • 第二种方式:建立一个比较器对象,该对象实现Comparator接口,覆盖compare方法,并将该对象作为参数传给TreeSet的构造函数(可以用匿名内部类)。

二、Map:双列集合类的根接口,用于存储具有键(Key)、值(Value)映射关系的元素,主要实现类有 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迭代方式获取元素值。

集合框架详细图如下

单列集合类的继承体系图如下:

这里写图片描述

双列集合类的继承体系图如下:

这里写图片描述

其中,如上两图中的绿色的虚线代表实现,绿色实线代表接口之间的继承,蓝色实线代表类之间的继承。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值