【java】Collection框架

★存储对象:数组、集合
对象多了用集合存,数据多了用对象存
★数组和集合的不同?

  • 数组长度是固定的,集合长度是可变的
  • 数组中只能存储同一类型的对象,而集合中存储的只要是对象就行

★集合框架:是不断向上抽取共性出来的
  Collection框架中包含了大量集合接口以及这些接口的实现类和操作它们的算法(比如排序、迭代、查找等等),collection主要提供了List(列表)、Queue(队列)、Set(集合)、Stack(栈)和Map(映射表,用于存放键值对)等数据结构,其中List、Queue、Set、Stack都继承自collection接口。
  为什么会出现这么多容器呢?
因为每一个容器对数据的存储方式都有不同,这个存储方式称之为:数据结构。每个容器因为数据结构的不同做了单独的划分,因为它们的结构特点不一样。

Collection位于整个集合框架的顶端,是整个集合框架的基础,它里面存储一组对象表示不同类型的Collections,它的作用只是提供维护一组对象的基本接口。

  Collection中最常用的三个接口是List、Set、Map。

  • List(ArrayList、LinkesList、Vector)

List又称为有序的Collection,它按照对象的进入顺序保存对象,所以它能对列表中每个元素的位置进行精准的判断,方便了插入删除等操作对元素位置判断的控制,同时它也可以保存重复的对象

  • Set(HashSet、TreeSet)

Set表示集合,最主要的特点是集合中的元素不能重复,所以存入Set的每个元素都必须定义equals()方法来确保对象的唯一性。

TreeSet实现了SortedSet接口,因此TreeSet容器中元素是有序的。

  • Map(HashMap、TreeMap、LinkedHashMap、WeakHashMap、IdentityHashMap)

Map提供了一个从键映射到值的数据结构,用来保存键值对,其内的值是可以重复的,但是键必须是唯一的(和映射的概念相同,可以一对多但不能多对一)。

虽然以上列举的类都可以实现Map接口,但是它们的执行效率不同

HashMap是基于散列表来实现的,采用对象的HashCode可以实现快速查询;

LinkHashMap采用列表来维护内部的顺序;

TreeMap是基于红黑树的数据结构来实现的,内部元素是按序排列的。

Map是一个接口,所以不能直接实例化Map对象,但是可以实例化实现Map接口的类的对象,如:Map hera = new HashMap();

Collection框架类图


图片链接:http://www.2cto.com/uploadfile/2012/0921/20120921030244923.png

时间: 2024-08-25 16:50:12

【java】Collection框架的相关文章

Java Collection框架—List\ set \map 的异同世界

Java集合是多个对象的容方法.集合(容方法),简单点,其实就是一个对象,能将具有相同性质的多个元素汇聚成一个整体. Collections Framwork是用来表现和操纵集合的一个统一的体系结构. 常用的集合有HashMap,HashSet,ArrayList--,因为对于每一个集合的内涵都很模糊,所以才会导致自己不知道具体的使用环境.我们通过对比来区分异同: Set(集) Set可以说是一种最简单的集合,主要的两个实现类,HashSet,TreeSet,两者最大的区别就是TreeSet是有

Java Collection框架详解

引用自:http://blog.sina.com.cn/s/blog_6d6f5d7d0100s9nu.html 经常会看到程序中使用了记录集,常用的有Collection.HashMap.HashSet.ArrayList,因为分不清楚它们之间的关系,所以在使用时经常会混淆,以至于不知道从何下手.在这儿作了一个小例子,希望有助于帮大家理顺思路. 首先看一下它们的关系: Collection --List:-----------------------以特定次序存储元素.所以取出来的顺序可能和放

我所理解Java集合框架的部分的使用(Collection和Map)

所谓集合,就是和数组类似--一组数据.java中提供了一些处理集合数据的类和接口,以供我们使用. 由于数组的长度固定,处理不定数量的数据比较麻烦,于是就有了集合. 以下是java集合框架(短虚线表示接口,长虚线表示抽象类,实线表示类,箭头表示实现接口或者继承)(在网络上找的图,不知道原作者,侵权请联系我删除)(总之,关系很复杂,所以不用记得这个图,只是用来吓吓人而已的). 下面贴上个人理解之精简版之Collection(集)和Map(地图?暂且这么理解吧),话说思维导图蛮好用,以下是两幅思维导图

初识Java集合框架(Iterator、Collection、Map)

1. Java集合框架提供了一套性能优良.使用方便的接口和类,它们位于java.util包中 注意: 既有接口也有类,图中画实线的是类,画虚线的是接口 使用之前须要到导入java.util包 List和Set是Collection的子接口,ArrayList和LinkedList是List的两个实现类,HashSet和TreeSet是Set的两个实现类 重点:ArrayList.LinkedList和HashSet Map接口对应的集合是以K-V键值对的方式存储数据的,不同于Collection

Java集合框架学习笔记之集合与Collection API

一.CollectionAPI 集合是一系列对象的聚集(Collection).集合在程序设计中是一种重要的数据接口.Java中提供了有关集合的类库称为CollectionAPI. 集合实际上是用一个对象代表一组对象,在集合中的每个对象称为一个元素.在集合中的各个元素的具体类型可以不同,但一般说来,它们都是由相同的类派生出来的(而这一点并不难做到,因为Java中的所有类都是Object的子类).在从集合中检索出各个元素是,常常要根据其具体类型不同而进行相应的强制类型转换. Collection

Java集合框架介绍。Java Collection Frameworks = JCF

Java集合框架 = Java Collection Frameworks  = JCF . 为了方便理解,我画了一张思维脑图.

Java编程手冊-Collection框架(上)

该文章所讲内容基本涵盖了Collection里面的全部东西,尽管基于jdk 1.5的.可是思路非常清晰 1.引言 1.1 Collection框架的介绍 尽管我们能够使用数组去存储具有同样类型的元素集合(包含基本类型和对象类型),可是数组不支持所谓的动态内存分配,一旦分配之后,它的长度就是固定的,无法改变,另外,数组是一个简单的线性结构.在我们的实际开发中,可能会须要更复杂的数据结构.比如linked list, stack, hash table, sets, 或者 trees. 在Java中

java 集合框架(三)Collection

Collection是集合框架的根接口,一个集合代表一组对象,我们称之为元素.不同的集合具有不同的特性,比如有的集合可以有重复元素,有的不可以,有的可以排序,有的不可排序,如此等等,而Collection作为集合的根接口,它规范定义了集合的通用方法,一个集合我们可以看作一个在内存中的小型数据库,而数据库的常用操作无外乎"增删改查",Collection中的方法也大体是这些类型操作. Java集合框架中没有直接实现Collection的子类,而是通过一系列子接口,比如List,Set,Q

java中Collection框架的讲解

下面要开始java中相关集合框架的学习啦. Are you ready?Let's go~~ 今天要讲解的Java中的Collection框架. 1) 首先查看jdk中Collection类的源码后会发现如下内容: ... * @see AbstractCollection * @since 1.2 */ public interface Collection<E> extends Iterable<E> { // Query Operations 通过查看可以发现Collecti

Java编程手册-Collection框架(下)

5.  Set<E>接口与实现 Set<E>接口表示一个数学的集合,它不允许元素的重复,只能包含一个null元素. Set<E>接口声明了下面抽象方法. boolean add(E o) // add the specified element if it is not already present boolean remove(Object o) // remove the specified element if it is present boolean con