l
概念分类
Java 2
将容器分为两个不同的概念
: Collection
与
Map
Collection:
提供对一组各自独立的元素的集合,
List
与
Set
接口都继承自
Collection
接口。
Map
:提供了一组
key-value(
键值对
)
。
两种类型的主要区别在于
:
Collection
类型每个位置只持有一个元素
(Object),
比如
List
以加入到容器中的先后顺序来持有一个独立的的对象。
Set
中的对象不得重复,并且它会使用自己内部的一种排序机制。
Map
类型所持有的是
key-value(
键值对
)
,
Map
不接受重复的
key
。
l
容器分类
Java
的所有容器类都实现了来自于
List, Set, Map
三种接口中的一个。我们可以通过Think in Java里面的类图来观察他们之间的关系:
l
List
List
定义了一个线性表接口,
Java2
中的
List
实现方式分为两种:
ArrayList
是以
array(
数组
)
实现的线性表数据结构,其
get(int index)
方法的时间复杂度为
O(1)
。而其插入与删除操作的元素在中央时,其效率较低。因为每次都要对插入或删除位置
(index)
后面的
array
的进行数组拷贝。
LinkedList
是一个双向链表数据结构。其插入与删除操作效率要明显高于
ArrayList
。
而且其随机查找的时间复杂度为
O(n) (
其实每次随机查找的次数要依赖于
size/2
到要查找的目标
index
之间的个数
)
其查找的效率要低于
ArrayList
的
O(1)
。
l
Set
Set
是集合类,该集合不能有“重复”对象存在,
Java2
中
Set
实现方式分成两种:
HashSet
将持有对象映射到在哈希表中。
(JDK1.6
的内部实现是
HashSet
只是个适配器,其将适配对象
HashMap
适配成了
Set
接口
)
TreeSet
将持有对象放入
RBTree
(红黑树)中。
(TreeSet
也将适配对象
TreeMap
适配成了
Set
接口
)
l
Map
Map
是一组
key-value(
键值对
)
集合,其中的
key(
键
)
不能重复。
HashMap
用
key
对象生成
hashcode
然后映射到
Entry<K,V>[]
数组中
(JDK1.6
中其
hashtable
默认大小为
16
,在持有对象数量查过默认大小之后就会重新生成一个更大
HashTable
,然后将原有持有的对象逐个散列到新哈希表中
)
。其
get(Object key)
最佳时间复杂度为
O(1)
,最坏则为
O(n)
。但就查找的平均效率来说是要高于
TreeMap
。
TreeMap
用
key
对象为关键值存放在
RBTree
(红黑树)中。其
get(Object key)
方法的平均时间复杂度为
O(logn)
。
l
Iterator
Iterator
迭代器实现对
:
哈希表
HashMap
,红黑树
TreeMap
,链表
LinkedList
,动态数组
ArrayList
等数据结构的迭
代。所有的
Collection
都可以获得一个
Iterator
对象用来遍历自己的所持有的对象。
--------------------------------------------------------------------------------------------------
我们的淘客网开通啦,欢迎大家去逛逛
~\(
≧▽≦
)/~
啦啦啦
~~~
淘宝购物资讯网:
http://taoke178.jimdo.com
淘乐园:
http://taoleyuan.jimdo.com
分享到:
相关推荐
10. **Java容器简介**:这可能是对Java容器的入门介绍,涵盖了基本概念和使用方法,适合初学者了解和学习。 11. **JAVA容器概述**:这个WPS文件可能提供了Java容器的全面概述,包括其重要性、主要接口和类,以及...
在IT领域,Java容器是一个非常重要的概念,尤其对于软件开发者来说,它们是理解和构建高效、可扩展的应用程序的关键。本文将深入探讨Java容器,并结合标签“源码”和“工具”,从源码层面和实用工具角度来分析这些...
Java容器详细解析 Java容器是一种基本的数据结构,用于存储和管理对象。Java容器主要分为两大类:Collection和Map。 Collection Collection是一个独立元素的序列,这些元素都服从一条或多条规则。Collection接口...
### Java容器学习心得详解 在Java编程中,容器(Containers)是存储和操作对象集合的重要工具,主要包括集合(Collections)和映射(Maps)。本文将深入解析Java容器的关键概念、特性以及不同容器类型的应用场景。 ...
JAVA 容器用法详解,关于JAVA容器的详细讲解
这篇博客"JAVA容器对象整理"可能涵盖了关于Java中的不同容器类、接口以及它们的使用方式。在这里,我们将深入探讨一些核心的Java容器知识点。 1. **ArrayList与LinkedList** - `ArrayList`是一个基于数组实现的...
Java容器是Java编程中至关重要的一个部分,它们用于存储、管理和操作对象集合。在这个主题下,我们将深入探讨Java中的核心容器类,包括数组、List、Set和Map,以及它们各自的特点和使用场景。 1. **数组**:数组是...
题目摘要:考虑下列的信息系统。出版社需要记录下列书籍和作者的信息: P1: 每一本书有一个title,一个description和一个ISBN number 还有 出版的日期(包括年/月) P2: 每一本书有1个或多个作者。...
Java容器讲解PPT,Collection Map(HashMap TreeMap LinkedHashMap) List (ArrayList LinkedList Vector) Set (HashSet TreeSet LinkedHashSet)
通过这些练习,你将巩固对Java容器的理解,提高代码编写效率,并为解决实际问题打下坚实基础。记得在实践中不断挑战自己,尝试不同的场景和数据结构,以便更好地掌握Java容器的精髓。祝你在学习过程中取得优异的成绩...
在Java编程中,容器是用来存储和管理对象的类或接口,它们使得我们可以在程序中方便地组织和操作数据。在Java中,常见的容器主要分为三类:List、Set和Map,这些都是Java集合框架的重要组成部分。 首先,我们来看...
Java 类容器是 Java 编程中非常重要的一个概念,它主要指的是 Java 集合框架中的各种类,如 ArrayList、LinkedList、HashSet、HashMap 等,这些类用于存储和管理对象。本文将深入探讨这些常用的Java类容器,帮助...
### Java容器起源与JSP容器背景解析 #### 容器技术概述 容器技术在现代IT领域扮演着极其重要的角色,特别是在云计算和微服务架构中。本文将深入探讨容器技术的起源,尤其是针对Java环境中JSP容器的发展历程及其...
Java容器类是Java编程语言中不可或缺的一部分,它们主要用于存储和管理对象。这些类和接口位于`java.util`包中,为开发者提供了灵活的数据结构和数据操作方式。在Java中,容器类主要分为两大类:Collection和Map。 ...
在Java编程语言中,容器(Container)是一种用来存储和管理数据结构的重要概念,它提供了组织、存储和操作数据的方式。容器通常指的是集合框架中的各种类,如List、Set、Map等,它们允许开发者以不同的方式存储和...
后缀为.mmap的思维导图,总结了JAVA容器的常见类
Java 容器的两种基本类型:Collection 和 Map Collection 和 Map 是 Java 中的两种基本容器类型,它们都可以用来存储和管理对象,但它们有着不同的特点和用途。 Collection 是一种聚集对象的容器,每个位置只能...
对于java容器的一些归纳整理,顺着思维导图能方便自己的理解,提高运用能力
Java容器类是Java集合框架的重要组成部分,它们提供了一种存储、管理和操作对象的方式。在Java中,容器类包括数组、列表、队列、集、映射等数据结构,它们为开发者提供了灵活的数据处理能力。本篇文章将深入探讨Java...
JAVA容器的概述,List,Map,Set