本章目标
掌握Collections与Collection接口的区别
掌握Collections类中提供的主要操作方法
Collections简介
在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合。
Collections类的定义:
——public class Collections extends Object
Collections类的常用方法及常量
实例操作一:返回不可变的集合
import java.util.Collections; import java.util.List; import java.util.Set; public class CollectionsDemo01 { public static void main(String[] args) { List<String> allList = Collections.emptyList();//返回不可变的空 List 集合 Set<String> allSet = Collections.emptySet();//返回不可变的空 List 集合 allList.add("Hello");//错误,无法加入 } /* 结果:提示表示不支持的方法异常,因为没有找到 add()方法的实现 * Exception in thread "main" java.lang.UnsupportedOperationException * at java.util.AbstractList.add(AbstractList.java:131) * at java.util.AbstractList.add(AbstractList.java:91) * at J031314.CollectionsDemo01.main(CollectionsDemo01.java:12) * */ }
实例操作二:为集合增加内容
import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; public class CollectionsDemo02 { public static void main(String[] args) { List<String> all = new ArrayList<String>();//实例化 List Collections.addAll(all, "Hello","World","Chaoyi");//增加内容 Iterator<String> iter = all.iterator();//实例化 Iterator 对象 while(iter.hasNext()){//迭代输出 System.out.print(iter.next()+"、");//输出内容 } } /* 结果: * Hello、World、Chaoyi、 * */ }
实例操作三:反转集合中的内容
import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; public class CollectionsDemo03 { public static void main(String[] args) { List<String> all = new ArrayList<String>();//实例化 List Collections.addAll(all, "Hello","World","Chaoyi");//增加内容 Collections.reverse(all);//内容反转保存 Iterator<String> iter = all.iterator();//实例化 Iterator 对象 while(iter.hasNext()){//迭代输出 System.out.print(iter.next()+"、");//输出内容 } } /* 结果: * Chaoyi、World、Hello、 * */ }
实例操作四:检索内容
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class CollectionsDemo04 { public static void main(String[] args) { List<String> all = new ArrayList<String>();//实例化 List Collections.addAll(all, "Hello","World","Chaoyi");//增加内容 int point = Collections.binarySearch(all, "World");//检索内容 System.out.println("检索结果:"+point);//输出位置 point = Collections.binarySearch(all, "With");//检索内容,内容不存在 System.out.println("检索结果:"+point);//输出位置 } /* 结果: * 检索结果:1 * 检索结果:-2 * */ }
实例操作五:替换集合中的内容
import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; public class CollectionsDemo05 { public static void main(String[] args) { List<String> all = new ArrayList<String>();//实例化 List Collections.addAll(all, "Hello","World","Chaoyi");//增加内容 if(Collections.replaceAll(all, "Chaoyi", "name")){//替换内容 System.out.println("内容替换成功!");//输出信息 } System.out.print("替换之后的结果:");//输出信息 Iterator<String> iter = all.iterator();//实例化 Iterator 对象 while(iter.hasNext()){//迭代输出 System.out.print(iter.next()+"、");//输出内容 } } /* 结果: * 内容替换成功! * 替换之后的结果:Hello、World、name、 * */ }
实例操作六:集合排序
import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; public class CollectionsDemo06 { public static void main(String[] args) { List<String> all = new ArrayList<String>();//实例化 List Collections.addAll(all, "1、Hello","2、World","X、Chaoyi");//增加内容 Collections.addAll(all, "B、www.baidu.com");//增加内容 Collections.addAll(all, "A、www.so.com");//增加内容 System.out.print("排序之前的集合:");//输出信息 Iterator<String> iter = all.iterator();//实例化 Iterator 对象 while(iter.hasNext()){//迭代输出 System.out.print(iter.next()+"、");//输出内容 } Collections.sort(all);//集合排序 System.out.print("\n排序之后的集合:");//输出信息 iter = all.iterator();//实例化 Iterator 对象 while(iter.hasNext()){//迭代输出 System.out.print(iter.next()+"、");//输出内容 } } /* 结果: * 排序之前的集合:1、Hello、2、World、X、Chaoyi、B、www.baidu.com、A、www.so.com、 * 排序之后的集合:1、Hello、2、World、A、www.so.com、B、www.baidu.com、X、Chaoyi、 * */ }
实例操作七:交换指定位置的内容
import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; public class CollectionsDemo07 { public static void main(String[] args) { List<String> all = new ArrayList<String>();//实例化 List Collections.addAll(all, "1、Hello","2、World","3、Chaoyi");//增加内容 System.out.print("交换之前的集合:");//输出信息 Iterator<String> iter = all.iterator();//实例化 Iterator 对象 while(iter.hasNext()){//迭代输出 System.out.print(iter.next()+"、");//输出内容 } Collections.swap(all, 0, 2);//交换指定位置的内容 System.out.print("\n交换之后的集合:");//输出信息 iter = all.iterator();//实例化 Iterator 对象 while(iter.hasNext()){//迭代输出 System.out.print(iter.next()+"、");//输出内容 } } /* 结果: * 交换之前的集合:1、Hello、2、World、3、Chaoyi、 * 交换之后的集合:3、Chaoyi、2、World、1、Hello、 * */ }
相关推荐
本次实验验证的集合工具类Collections的常用方法操作,包括排序、查找、替换以及同步控制;
数组有工具类Arrays,集合也有一个工具类Collections,这里练习一下集合工具类的排序方法,顺便过一下sort排序方法,比较器。 sort方法 sort(List<T> list):根据其元素的natural ordering对指定的列表进行排序。 ...
主要介绍了java操作集合工具类Collections使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
这是为了方便大家了解集合类的相关知识所找的一个MarkDown文档,读者可以通过阅读了解各种子类集合的实现原理,红黑树的实现也会有所介绍.
559.557.JAVA基础教程_集合-Collections工具类常用方法的测试(559).rar
031314_【第13章:Java类集】_集合工具类:Collections笔记.pdf 031315_【第13章:Java类集】_Stack类笔记.pdf 031316_【第13章:Java类集】_属性类:Properties笔记.pdf 031317_〖第13章:Java类集〗_范例讲解:一...
今天小编就为大家分享一篇关于JAVA集合框架工具类自定义Collections集合方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你...
Collections是操作集合对象的工具类 Objects是操作引用数据类型对象的工具类 Arrays的常用方法 普通排序 Arrays.sort(int[] a) Arrays.sort(int[] a, int fromIndex, int toIndex) 并行排序:JDK1.8新增 Arrays....
google公共工具类;google collections是google的工程师利用传说中的“20%时间”开发的集合库,它是对java.util的扩展,提供了很多实用的类来简化代码。google collections使用了范型,所以要求jdk1.5以上。
Java平台提供了一个全新的集合框架,框架的核心为Collection、List(列表)、Set(集合)和Map...为了方便用户使用,Java平台还提供了Collections和Arrays工具类。collection.rar分别对上述内容进行详细讲解演示。
主要介绍了Java使用Collections工具类对List集合进行排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Powerful collection utilities(强大的集合工具类): java.util.Collections 中未包含的常用操作工具类 4. Extension utilities(扩展工具类): 给 Collection 对象添加一个装饰器? 实现迭代器? 我们可以更容易...
在.NET FCL为我们提供了很多集合类型,是编程中非常有力的工具。泛型集合主要在 System.Collections.Generic名称空间中,而非泛型集合主要在System.Collections,首先抛出 结论:如果在C#2.0版本以上,尽量使用泛型...
在Java开发类库中,提供了很多工具类,我们即将学习最常见的工具类,比如对日期的操作,对集合的操作等。具体更多的工具类,请参考JavaDoc文档。 2. java.util.Date类 Date类包装了毫秒值,毫秒值表示自1970年1月1...
Java集合List集合Set集合Map集合Collection和collections工具类的框架图
Commons-Collections基于JDK中集合相关的类而开发,提供了新的接口、实现和工具。当我们在操作集合时,如有需要可以在该jar包中寻找是否已经有自己需要的功能。
这是commons-collections-3.2.jar的下载,它是commons中各集合类和工具类的封装包。因为commons-collections有很多版本,每个版本的环境又有些不同,所以版本对应是最好的,有需要3.2版本的可下载