- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
深入Java_Java集合
Java集合;学习要点:; Java集合类是一种特别有用的工具类,可用于存储数量不等的对象,并可以实现常用的数据结构,如栈、队列等。除此之外java集合还可用于保存具有映射关系的关联数组。Java集合大致可分为Set、List、Queue和Map四种体系,其中Set代表无序、不可重复的集合;List代表有序、重复的集合;而Map则代表具有映射关系的集合。Java5中又增加了Queue体系集合,代表一种队列集合实现。;第一节 Java集合概述;Collection接口及其派生类;Map体系的继承树;第二节 Collection和Iteration接口;Iterator iterator():返回一个Iterator对象,用于遍历集合里的元素。
boolean remove(Object o):从此 collection 中移除指定元素的单个实例,存在多个只删除第一个。
boolean removeAll(Collection c):移除此 collection 中那些也包含在指定 c中的所有元素,如果删除了一个或一个以上,则返回true。
boolean retainAll(Collection c):从集合中删除集合c里不包含的元素(相当于把调用该方法的集合变成该集合和集合c的交集),如果该操作改变了调用该方法的集合,则该方法返回true。
int size():该方法返回集合里元素的个数。
Object[] toArray(): 该方法把集合转换成一个数组,所有的集合元素变成对应的数组元素。;小练习:; 上面程序中创建了两个Collection对象,一个是c集合,一个是books集合,其中c集合是ArrayList,而books集合是HashSet。虽然他们使用的实现类不同,但当把他们当成Collection来使用时,使用add, remove, clear等方法完全没有任何区别。;1. 使用Lambda表达式遍历集合
java8为Iterable接口新增了一个forEach (Consumer action)默认方法,该方法所需参数的类型是一个函数式接口,而Iterable接口是Collection接口的父接口,因此Collection集合也可以直接调用该方法。
当程序调用Iterable的forEach(Consumer action)遍历集合元素时,程序会依次将集合元素传给Consumer的accept(T,t)方法(该接口中唯一的抽象方法)。正因为Consumer是函数式接口,因此可以使用Lambda表达式来遍历集合元素。;2. 使用foreach循环遍历集合元素
除了可以使用Iterator接口迭代访问Collection集合里的元素之外,使用Java5提供的foreach循环迭代访问集合元素更加便捷。
Collection books = new HashSet();
books.add(JavaEE);
books.add(Android);
//使用foreach循环来迭代访问Collection集合元素
for(Object obj:books){
String book = (String)obj;
System.out.println(book);;;;;;;;;;;;;;第三节 Set集合;1.HashSet类;;;;;重写hashCode()方法的基本规则;重写hashCode的一般步骤;hashCode的计算方式;;;实例;;2. LinkedHashSet类;实例;3. TreeSet类;;;练习;;自然排序;;;;实例;;;例子;;;;实例;;注意;2. 定制排序;实例;;注意:;4. EnumSet类;;;;实例;;实例;5. 各Set实现类的性能分析;;第四节 List集合;1. Java 8 改进的List接口和ListIterator接口;;;List的基本用法;;实例;注意;sort()和replaceAll();List的listIterator();;;2. ArrayList和Vector实现类;;;ArrayList和Vector的区别;;stack类的几个方法;不建议使用Vector;3. 固定长度的List;Arrays$ArrayList实例;第五节 Queue集合;Queue接口中定义的几个方法。;;1. PriorityQueue实现类;实例;;2. Deque接口与ArrayDeque实现类 ;;;;总结;注意;ArrayDeque作为栈的实例;;ArrayDeque作为队列的实例;3. LinkedList实现类;实例;;注意;4. 各种线性表的性能分析;第六节 java 8 增强的Map集合;;Set与Map的关系;value和List的关系;Map接口的方
原创力文档


文档评论(0)