四、Java集合框架概述

目录

1.集合简介

2.Java的集合框架关系图


1.集合简介

在涉及到一组相同类型的数据存储时,我们总是会想到用数组来存储,但数组的长度是预先设定好的,固定不变的。当要存储的数据量总是要不断变化时,数组就产生了很大的缺陷,这是我们就必须找一个能够允许数据量随意变化的容器来存储这些数据,集合便因此诞生。

Java 所有的集合类都位于 java.util 包下,提供了一个表示和操作对象集合的统一构架,包含大量集合接口,以及这些接口的实现类和操作它们的算法。与数组不同的是,集合只能够存储对象的引用值而不能够存储基本数据类型

2.Java的集合框架关系图

(1)Collection集合关系图

      接口名称                                                                               作    用
Iterator 接口集合的输出接口,主要用于遍历输出(即迭代访问)Collection 集合中的元素,Iterator 对象被称之为迭代器。迭代器接口是集合接口的父接口,实现类实现 Collection 时就必须实现 Iterator 接口
Collection 接口是 List、Set 和 Queue 的父接口,是存放一组单值的最大接口。一般很少直接使用此接口直接操作。
Queue 接口Queue 是 Java 提供的队列接口。
Dueue 接口是 Queue 的一个子接口,为双向队列接口。
List 接口是最常用的接口。是有序集合,允许有相同的元素。使用 List 能够精确地控制每个元素插入的位置,用户能够使用索引(元素在 List 中的位置,类似于数组下标)来访问 List 中的元素,与数组类似。
Set 接口不包含重复的元素
        类名称                                                                               作    用
HashSet为优化査询速度而设计的 Set。它是基于 HashMap 实现的,HashSet 底层使用 HashMap 来保存所有元素。
TreeSet基于红黑树实现的 Set 接口,是一个有序的 Set,这样就能从 Set 里面提取一个有序序列。

ArrayList

一个用数组实现的 List,能进行快速的随机访问,效率高而且实现了可变大小的数组。
ArrayDueue是一个基于数组实现的双端队列,按“先进先出”的方式操作集合元素。
LinkedList基于链表结构实现的 List,对顺序访问进行了优化,但随机访问的速度相对较慢。此外它还有 addFirst()、addLast()、getFirst()、getLast()、removeFirst() 和 removeLast() 等方法,能把它当成栈(Stack)或队列(Queue)来用
Vector与 ArrayList 功能基本相同,但它是线程安全的。
LinkedHashSet基于哈希表与链表实现的 Set 集合,但与 HashSet 不同的是,它是一个有序的 Set 集合

 (2)Map集合关系图

      接口名称                                                                               作    用
Map 接口是存放一对值的最大接口,即接口中的每个元素都是一对,以 key➡value 的形式保存,并且 key 值不允许重复。
        类名称                                                                               作    用
HashMap基于哈希表实现的 Map ,允许使用 null 值和 null 键,且线程不安全的。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
TreeMap基于红黑树实现的 Map ,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。线程不安全
HashTable与 HashMap 作用相同,但不允许 null 值和 null 键,线程安全。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值