13.9 集合工具类Collections(血干JAVA系类)

在这里插入图片描述

13.9.1 Collections 简介

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13.9.2 Collections 操作实例

1.实例操作1——返回不可变的集合

Collections类中可以返回空的List、Set、Map集合,但是通过这种方式返回的对象是无法进行增加数据操作的,因为在这些操作中并没有实现add()方法,如下所示。

【例13.41】返回空的集合对象

package jiaqi;

import java.util.*;

public class temp {

	public static void main(String[] args) {
		List<String> allList = Collections.emptyList();
		Set<String> allSet = Collections.emptySet();
		allList.add("Add");
		allSet.add("Add");
		
	}
}

在这里插入图片描述

2.实例操作2——为集合増加内容

使用addAll()方法可以为一个集合增加内容。此方法可以接收可变参数,所以可以传递任意多的参数作为集合的内容。

【例13.42】增加内容

package jiaqi;

import java.util.*;

public class temp {

	public static void main(String[] args) {
		List<String> allList = new ArrayList<String>();
		Collections.addAll(allList,"AAA","BBB","CCC");
		
		Iterator<String> iter = allList.iterator();
		while(iter.hasNext())
		{
			System.out.print(iter.next()+"\t");
		}
		System.out.println();
	}
}

在这里插入图片描述

3.实例操作3——反转集合中的内容

【例13.43]反转内容

直接使用Collections工具类中的reverse()方法就可以将集合类中的内容反转保存。

package jiaqi;

import java.util.*;

public class temp {

	public static void main(String[] args) {
		List<String> allList = new ArrayList<String>();
		Collections.addAll(allList,"AAA","BBB","CCC");
		Collections.reverse(allList);
		Iterator<String> iter = allList.iterator();
		while(iter.hasNext())
		{
			System.out.print(iter.next()+"\t");
		}
		System.out.println();
	}
}

在这里插入图片描述

4.实例操作4——检索内容

直接通过Collections类中的binarySearch()即可以完成内容的检索,检索之后会返回内容的位置。

【例13.44]检索内容

package jiaqi;

import java.util.*;

public class temp {

	public static void main(String[] args) {
		List<String> allList = new ArrayList<String>();
		Collections.addAll(allList,"AAA","BBB","CCC","DDD");
	
		System.out.println("BBB的位置:"+Collections.binarySearch(allList, "BBB"));
		System.out.println("DDD的位置:"+Collections.binarySearch(allList, "DDD"));
		System.out.println("DDD的位置:"+Collections.binarySearch(allList, "FFF"));
		System.out.println("DDD的位置:"+Collections.binarySearch(allList, "D"));

	}
}

在这里插入图片描述

5.实例操作5——替换集合中的内容

Collections类中也提供了 replaceAll()方法,可以替换一个集合中的指定内容。

【例13.45】替换集合指定范围的内容

package jiaqi;

import java.util.*;

public class temp {

	public static void main(String[] args) {
		List<String> allList = new ArrayList<String>();
		Collections.addAll(allList,"AAA","BBB","CCC","DDD");
		if(Collections.replaceAll(allList, "BBB", "EEE"));
		Iterator<String> iter = allList.iterator();
		while(iter.hasNext())
		{
			System.out.print(iter.next()+"\t");
		}
		System.out.println();
	}
}

在这里插入图片描述

6.实例操作6——集合排序

可以通过Collections类中的sort()方法对一个集合进行排序操作,但是要求集合中每个对象所在的类必须实现Comparable接口。

【例13.46]集合排序

package jiaqi;

import java.util.*;

public class temp {

	public static void main(String[] args) {
		List<String> allList = new ArrayList<String>();
		Collections.addAll(allList,"AAA","DDD","CCC","BBB");
		Collections.sort(allList);
		Iterator<String> iter = allList.iterator();
		while(iter.hasNext())
		{
			System.out.print(iter.next()+"\t");
		}
		System.out.println();
	}
}

在这里插入图片描述
在这里插入图片描述

7.实例操作7——交换指定位置的内容

直接使用swap()方法可以把集合中两个位置的内容进行交换。

【例13.47】交换指定位置的元素

package jiaqi;

import java.util.*;

public class temp {

	public static void main(String[] args) {
		List<String> allList = new ArrayList<String>();
		Collections.addAll(allList,"AAA","DDD","CCC","BBB");
		System.out.println("交换前:");
		Iterator<String> iter = allList.iterator();
		while(iter.hasNext())
		{
			System.out.print(iter.next()+"\t");
		}
		System.out.println();
		
		
		Collections.swap(allList, 0, 1);
		
		System.out.println("交换后:");
		Iterator<String> iter1 = allList.iterator();		
		while(iter1.hasNext())
		{
			System.out.print(iter1.next()+"\t");
		}
		System.out.println();
		
	}
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿斯卡码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值