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容器基本概念

相关文章:

你感兴趣的文章:

标签云: