- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java集合类Java集合类是一种特别有用的工具类,可用于存储数量不等的对象,并可以实现常用的数据结构,如栈、队列等;除此之外java集合还可用于保存具有映射关系的关联数组。Java集合大致可以分为Set、List、Quequ和Map四种体系:Set代表无序、不可重复的集合;List代表有序、重复的集合;Map代表具有映射关系的集合;Queue体系集合,代表一种队列集合Java集合就像一种容器,可以把多个对象(实际上是对象的引用,但习惯上都称为对象)“丢进”该容器中。在java5之前,java集合会丢失容器中所有对象的数据类型,把所有对象都当成Object类型出来;从java5增加泛型以后,java集合可以记住容器中对象的数据类型,从而可以编写出更简洁、健壮的代码。为了保存数量不确定的数据,以及保存具有映射关系的数据(也被称为关联数组),java提供了集合类。集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。集合类和数组不一样,数组元素既可以基本类型的值,也可以是对象(实际上保存的是对象的引用变量);而集合里只能保存对象(保存对象的引用变量)。Java的集合类主要由两个接口派生而出:Collection 和 Map,Collection和Map是java集合框架的根接口,这两个接口又包含了一些子接口或实现类。Set和list接口是collection接口派生的两个子接口,它们分别代表了无序集合和有序集合;Queue是java提供的队列实现。Map实现类用于保存具有映射关系的数据。Map保存的每项数据都是key-value对,也就是由key和value两个值组成。(就像成绩单,每项成绩都是由两个值组成,即科目名和成绩。对于一张成绩表,科目通常不会重复,而成绩是可重复的,通常习惯根据科目来查阅成绩,而不会根据成绩来查阅科目)map里key是不可以重复的,key用于标识集合里的每项数据,如果需要查阅map中的数据时,总是根据map的key来获取。Set,list,queue,map这4个接口,可以把java所有集合分成三大类,其中set集合类似于一个罐子,把一个对象添加到set集合时,set集合无法记住添加这个元素的顺序,所以set里的元素不能重复(否则系统无法准确识别这个元素);list集合非常像一个数组,它可以记住每次添加元素的顺序、且list的长度可变。Map集合也像一个罐子,只是它里面的每项数据都是由两个值组成。如果访问list集合中的元素,可以直接根据元素的索引来访问;如果访问map集合中的元素,可以根据每项元素的key来访问其value;如果访问set集合中的元素,则只能根据元素本身来访问(这也是set集合里元素不允许重复的原因)对于set、list、Queue和map四种集合,最常用的实现类分别是HashSet、TreeSet、ArrayList、ArrayDeque、LinkedList和HashMap、TreeMap等实现类。Collection的用法有:添加元素、删除元素、返回collection集合中的元素个数以及清空整个集合等。Collection实现类都重写了toString()方法,该方法可以一次性的输出集合中的所有元素。Java8为Iterable接口新增了一个forEach(Consumer action)默认方法,该方法所需参数的类型是一个函数式接口,而Iterable接口是Collection接口的父接口,因此Collection集合也可以直接调用该方法。当程序调用Iterable的forEach(Consumer action)遍历集合元素时,程序会一次将集合元素传给Consumer的accept(T t)方法(该接口中唯一的抽象方法)。正因为Consumer是函数式接口,因此可以使用lambda表达式来遍历集合元素。package testdemo;import java.util.*;public class CollectionTest {public static void main(String[] args){ Collection books=new HashSet(); //创建一个集合books.add(1); books.add(hello); books.forEach(obj-System.out.println(迭代元素:+obj)); //调用Iterable的forEach()默认方法来遍历集合元素}}调用Iterable的forEach()默认方法来遍历集合元素,传给该方法的参数是一个Lambda表达式,该Lambda表达式的目标类型是Consumer。forEach()方法会自动将集合元素逐个的传给L
您可能关注的文档
- PS测试指导.pptx
- P现场检查指导原则(批发)二.ppt
- 论FLAC_FLAC3D基础与应用(全部).ppt
- R工作者的心理素质完全手册.ppt
- -500L全自动电容电感测试仪.doc
- E施工作业指导书.doc
- P光谱分析中的样品处理技术.docx
- 必学:构建全面薪酬体系设计与岗位评估.ppt
- U常见病种的护理.pptx
- E七大手法.ppt
- 南京市第十三中学2024-2025学年高二上学期10月期中英语试题及答案.docx
- 江阴市四校2023-2024学年高二上学期期中联考语文试题(原卷版).docx
- 南京市第十三中学2024-2025学年高二上学期期中考试数学试题及答案.docx
- 江阴市四校联考2023-2024学年高二11月期中生物试题(原卷版).docx
- 南京市第十三中学2024-2025学年高二上学期10月期中生物试题(含答案).docx
- 苏州市2024-2025学年高一上学期期中调研数学试卷.pdf
- 南京市2024-2025学年高二上学期11月期中考试+化学试题(无答案).docx
- 江阴市四校联考2023-2024学年高二上学期11月期中化学试题(原卷版).docx
- 物理奥数竞赛题.pdf
- 第九届高校廉洁教育系列活动课堂实践案例遴选名单.docx
文档评论(0)