JAVA容器基本概念

基本概念


Java容器的主要用途就是用来保存对象,根据对象保存形式的不同,可以将其分为以下两个概念:
1. Collection:保存独立的对象集合,常见的有:List、Set、Queue和已经过时Stack;
2. Map:利用“键值对”来保存对象的容器。

常见的容器介绍


List

List可以将元素保存在特定的序列中。主要有两种类型的List:

ArrayList

它常用于元素的随机访问,但在其中插入和移除元素时较慢。

LinkedList

它通过链表实现存储,提供了优化的顺序访问,所以在对其进行插入和移除操作时相对前者更快,但其在随机访问上却相对较慢。
LinkedList还添加了可以使其用作栈、队列或双端队列(Queue)的方法。
根据两者实现上的不同,很容易根据实际的需要选择使用哪种实现。

Stack

如果你正在考虑使用何种机制来存储对象,则请不用考虑用Stack来实现。

Set

Set不保存重复的元素。有以下几种实现:

HashSet

Set常用来做查找操作,而HashSet专门对快速查找进行了优化,因此通常第一考虑的都是使用HashSet来作为Set的实现。

TreeSet

TreeSet对插入其中的元素进行了升序排序,所以在性能上会比HashSet较慢。

LinkedHashSet

它按照插入的顺序保存元素。

Map

将对象映射到其他对象的能力是Map的主要功能。

HashMap

专门用于快速访问

TreeMap

保证Key始终处于升序排列状态,所以没有前者快。

LinkedHashMap

保持元素插入的顺序不变,同时也通过散列提供了快速访问的能力。

Queue

队列的实现有LinkedList提供支持。

下图是Java容器相互关系的简图:
Java容器关系简图

这里只介绍了各个容器的优缺点,但没有说明为什么。将在后期进行说明。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值