集合工具类:Collections

本文介绍 Java 中 Collections 类的使用技巧,包括创建不可变集合、集合内容增删查改等功能,以及排序、检索等实用方法。

本章目标
掌握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、
 * */
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值