常见的Collection的实现体系

原创 2018年04月15日 21:20:36

注释:蓝色表示实现类,红色框表示接口

Set接口)

    Set接口的存储形式是不允许元素重复,并且不记录数据存入的先后顺序。而list接口的存储形式允许元素重复,并且记录数据存入的先后顺序。我们知道list接口的实现类是基于数组存储的,每存入一个数据,其将会根据索引存入数组相应的位置。其实set接口的实现类也是基于数组存储的,但他存储时并不会直接按索引去存储数据,而是先检测数据是否重复(为什么存在这种结构,例如存储学号,就不允许重复,如果我们使用list还得自己去写重复检测机制),如果不重复则添加数据。而添加时,他是根据hash算法添加的,即每个对象都有自己的hashCode,我们可以根据hashCode去寻找索引,即对象——hashCode——索引(此处横线表示一种映射),这样一来我们就说其实Set也是基于数组存储的,他有什么好处呢:

比如说: 0 9 78 23

如果我么用数组查询一个23的索引,则我们用for如循环循环四次,遍历即可,

但如果我们用hash查找时只需index=F(hashCode),hashCode=F(对象);通过计算即可。

问题:我们想set集合中添加基本类型时,set是如何判断两个元素是否相同的?

    

运行结果:

如此说明斯特中是靠判断equals和hashCode两个标准判定的。

Java 集合框架 - Collection体系部分

Collection集合框架 一.  概述 1.      数据多了可以存在数组当中,那对象多了就要存在集合中了,数组是固定长度的,但是集合是可变长度的,同一个数组中只能存同一种类型的数据,而集合中只...
  • hua631150873
  • hua631150873
  • 2013年09月14日 23:32
  • 1119

黑马程序员——集合Collection:体系详述

本文综合了老师的课程内容以及维基百科上的多方面内容,对集合体系中的常见类型及其操作进行了系统的总结。其中包含了Collection通用方法,List、Set、Map等方面,文章的精华内容在对代码的注释...
  • heimawoo
  • heimawoo
  • 2015年09月24日 05:05
  • 961

Collection集合体系结构图

Collection集合体系结构图
  • u013905744
  • u013905744
  • 2015年03月25日 14:24
  • 1471

Java基础(18):集合(容器)—Collection和Map两大体系介绍和用法

集合类的作用 集合类也叫做容器类,和数组一样,用于存储数据,但数组类型单一,并且长度固定,限制性很大,而集合类可以动态增加长度。集合存储的元素都是对象(引用地址),所以集合可以存储不同的数据类型,但...
  • fengwei4618
  • fengwei4618
  • 2017年04月25日 22:35
  • 346

Java基础——集合(一)——集合体系、Collection集合

一、集合概述          Java是一种面向对象语言,如果我们要针对多个对象进行操作,就必须对多个对象进行存储。而数组长度固定,不能满足变化的要求。所以,java提供了集合。          ...
  • haovip123
  • haovip123
  • 2015年05月02日 00:09
  • 13595

Java数据结构-Collection(一)

Collection is the root of the collection hierarchy. It defines operations on data collections and t...
  • u010483016
  • u010483016
  • 2015年05月03日 11:09
  • 360

Java Collection 知识体系的建立

关于Java Collection Framework的知识体系的建立
  • zx48822821
  • zx48822821
  • 2017年04月07日 17:01
  • 193

实现或继承了Collection接口的是()

答案:BCEA,Map接口未实现Collection接口 B,List接口的定义为 public interface Listextends CollectionC,Vector定义为 publ...
  • qq_27687701
  • qq_27687701
  • 2016年10月31日 23:00
  • 3116

经典软件体系结构风格及DSSA

软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式(idiomatic paradigm)。体系结构风格定义了一个系统家族,即一个体系结构定义了一个词汇表和一组约束。词汇表中包含一些构件和...
  • yethyeth
  • yethyeth
  • 2006年02月16日 17:20
  • 11400

java中的容器collection及其常用的子接口

collection在包java.util下,继承 Iterable,Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而...
  • liudezhicsdn
  • liudezhicsdn
  • 2016年03月28日 18:33
  • 747
收藏助手
不良信息举报
您举报文章:常见的Collection的实现体系
举报原因:
原因补充:

(最多只允许输入30个字)