博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第14章 集合类
阅读量:6656 次
发布时间:2019-06-25

本文共 1088 字,大约阅读时间需要 3 分钟。

java.util包中提供了一些集合类,这些集合类又被称为容器。

提到容器不难想到数组,集合类与数组的不同之处是,数组的长度是固定的,集合的长度是可变的;

数组用来存放基本类型的数据,集合用来存放对象的引用。

常用的集合有List集合、Set集合和Map集合,其中List与Set继承了Collection接口,各接口还提供了不同的实现类。

1、Collection接口

Collection接口是层次结构中的根接口。构成Collection的单位称为元素。Collection接口通常不能直接使用,但是该接口提供了添加元素、删除元素、管理数据的方法。

2、List接口

List接口继承了Collection接口,因此包含Collection中的所有方法,此外List接口还定义了一下两个重要的方法。

  get(int index):获得指定索引位置的元素。

  set(int index,Object obj):将集合中指定索引位置的元素修改为指定的对象

List接口的常用实现类:ArrayList与LinkedList:

  ArrayListl类实现了可变的数组,允许保存所有元素,包括null,并可以根据索引位置对集合进行快速的随机访问;缺点是向指定的索引位置插入对象或删除对象的速度较慢;

  LinkedList类采用了链表结构保存对象。这种结构的优点是便于向集合中插入和删除对象,需要向集合中插入、删除对象时,使用LinkedList类实现的List集合的效率较高;但对于随机访问集合中的对象,使用LinkedList类实现List集合效率较低。

3、Set接口

Set集合中的对象不按特定的方式排序,只是简单地把对象加入集合中,但Set集合中不能包含重复的对象。Set集合由Set接口和Set接口的实现类组成。

Set接口常用的实现类有:HashSet和TreeSet类:

  HashSet类由哈希表支持,它不保证Set的迭代顺序;

  TreeSet类实现的Set集合在遍历集合时按照自然顺序递增排序,也可以按照指定比较器递增排序。

4、Map接口

Map集合提供的是key到value的映射。Map中不能包含相同的key,每个key只能映射一个value。key还决定了存储对象在映射中的存储位置。但不是由key对象本身决定的,而是通过一种“散列技术”进行处理,产生一个散列码的整数值,散列码通常用作一个偏移量,该偏移量对应分配给映射的内存区域的起始位置,从而确定存储对象在映射中的存储位置。

Map集合包括Map接口以及Map接口的所有实现类。

转载地址:http://nzxto.baihongyu.com/

你可能感兴趣的文章
Oracle 查找带有CLOB字段的所有表
查看>>
一键部署WordPress开源内容管理系统
查看>>
实现Repeater控件的记录单选
查看>>
MySQL定义和变量赋值
查看>>
O(n)获得中位数及获得第K小(大)的数
查看>>
windows下 管理员身份启动java进程
查看>>
excel 分类汇总函数
查看>>
Web安全之XSS攻击与防御小结
查看>>
一个简单的图片懒加载
查看>>
Python爬虫实战案例-爬取币世界标红快讯
查看>>
Golang 流式解析 Json
查看>>
软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题26-30题)...
查看>>
Windows 2008 R2 Hyper-V Failover Clustering 5
查看>>
Exchange企业实战技巧(5)配置OWA域名简写
查看>>
Nabou应用实例
查看>>
烂泥:ESXI开启SNMP服务
查看>>
《统一沟通-微软-实战》-6-部署-7-部署移动功能-2
查看>>
go语言笔记——调试还很弱,用gdb来做?可用panic和defer。格式化代码使用gofmt,貌似我的vim插件是自带...
查看>>
Linux 安装.src.rpm源码包的方法
查看>>
c#将对象序列化为字符串和将字符串反序列化为对象
查看>>