博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Collections简介
阅读量:6133 次
发布时间:2019-06-21

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

hot3.png

       在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合。 Collections类的定义: public class Collections extends Object

Collections类的常用方法及常量 

No.

方法

类型

描述

1

public static final List EMPTY_LIST

常量

返回一个空的List集合

2

public static final Set EMPTY_SET

常量

返回空的Set集合

3

public static final Map EMPTY_MAP

常量

返回空的Map集合

4

public static <T> boolean addAll(Collection<? super T> c, T... a)

普通

为集合添加内容

5

public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)

普通

找到最大的内容,按比较器排序

6

public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll)

普通

找到集合中的最小内容,按比较器排序

7

public static <T> boolean replaceAll(List<T> list,T oldVal,T newVal)

普通

用新的内容替换集合的指定内容

8

public static void reverse(List<?> list)

普通

集合反转

9

public static <T> int binarySearch(List<? extends Comparable<? super T>> list,T key)

普通

查找集合中的指定内容

10

public static final <T> List<T> emptyList()

普通

返回一个空的List集合

11

public static final <K,V> Map<K,V> emptyMap()

普通

返回一个空的Map集合

12

public static final <T> Set<T> emptySet()

普通

返回一个空的Set集合

13

public static <T extends Comparable<? super T>> void sort(List<T> list)

普通

集合排序操作,根据Comparable接口进行排序

14

public static void swap(List<?> list,int i,int j)

普通

交换指定位置的元素

实例操作一:返回不可变的集合

import java.util.Collections;import java.util.List;import java.util.Set;public class CollectionsDemo01 {	public static void main(String[] args) {		List
allList = Collections.emptyList() ;// 返回不可变的空List集合 Set
allSet = Collections.emptySet() ; // 返回不可变的空Set集合 allList.add("Hello") ; // 错误,无法加入 }}

实例操作二:为集合增加内容

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
all = new ArrayList
(); // 实例化List Collections.addAll(all, "A", "B", "C"); // 增加内容 Iterator
iter = all.iterator() ; // 实例化Iterator对象 while (iter.hasNext()) { // 迭代输出 System.out.print(iter.next() + "、"); // 输出内容 } }}

 实例操作三:反转集合中的内容

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
all = new ArrayList
(); // 实例化List Collections.addAll(all, "A", "B", "C"); // 增加内容 Collections.reverse(all) ; // 内容反转保存 Iterator
iter = all.iterator() ; // 实例化Iterator对象 while (iter.hasNext()) { // 迭代输出 System.out.print(iter.next() + "、"); // 输出内容 } }}

实例操作四:检索内容

import java.util.ArrayList;import java.util.Collections;import java.util.List;public class CollectionsDemo04 {	public static void main(String[] args) {		List
all = new ArrayList
(); // 实例化List Collections.addAll(all, "A", "B", "C"); // 增加内容 int point = Collections.binarySearch(all, "C") ; // 检索内容 System.out.println("检索结果:" + point); // 输出位置 point = Collections.binarySearch(all, "D") ; // 检索内容,内容不存在 System.out.println("检索结果:" + point); // 输出位置 }}

实例操作五:替换集合中的内容 

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
all = new ArrayList
(); // 实例化List Collections.addAll(all, "A", "B", "C"); // 增加内容 if(Collections.replaceAll(all, "A", "D")){ // 替换内容 System.out.println("内容替换成功!"); // 输出信息 } System.out.print("替换之后的结果:") ; // 输出信息 Iterator
iter = all.iterator() ; // 实例化Iterator对象 while (iter.hasNext()) { // 迭代输出 System.out.print(iter.next() + "、"); // 输出内容 } }}

实例操作六:集合排序

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
all = new ArrayList
(); // 实例化List Collections.addAll(all, "1、A", "2、B", "5、M"); // 增加内容 Collections.addAll(all, "3、X"); // 增加内容 Collections.addAll(all, "4、Z"); // 增加内容 System.out.print("排序之前的集合:"); // 输出信息 Iterator
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() + "、"); // 输出内容 } }}

实例操作七:交换指定位置的内容

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
all = new ArrayList
(); // 实例化List Collections.addAll(all, "1、A", "2、B", "3、C"); // 增加内容 System.out.print("交换之前的集合:") ; // 输出信息 Iterator
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() + "、"); // 输出内容 } }}

 

转载于:https://my.oschina.net/u/3544533/blog/1830230

你可能感兴趣的文章
太多脚本将会毁掉持续交付
查看>>
不受微软待见的Python,如何在八年内逆袭成功?
查看>>
白话解析分布式系统,小白也能看懂
查看>>
Bowery为什么从Node.js转向 Go
查看>>
从达尔文到DevOps:John Willis和Gene Kim谈后凤凰项目时代
查看>>
ArchSummit 深圳 2017 成功举办,探索未来互联网架构
查看>>
不知道如何提升深度学习性能?我们为你整理了这份速查清单
查看>>
Go 2提上日程,官方团队呼吁社区给新特性提案提交反馈
查看>>
技术绩效考量:你们可能都做错了
查看>>
“亲切照料”下的领域驱动设计
查看>>
除了输入法,移动端AI还有哪些想象空间?
查看>>
回家路上想起来关于Js一个有趣的东西
查看>>
B端大数据应用的架构实践与思考
查看>>
2019 SRE 调查报告:事故处理是主要工作,SRE 压力山大
查看>>
React创建组件的三种方式及其区别
查看>>
大中型企业的天网:Apache Geode
查看>>
Windows Server已可安装Docker,Azure开始支持Mesosphere
查看>>
本地部署比SaaS更容易满足GDPR要求吗?
查看>>
为IoT应用搭建DevOps管道
查看>>
Oracle完成OpenJDK 10软件仓库群的合并
查看>>