Collections类

概述:

​ 他是一个专门操作单列集合数据相关功能的工具类

​ 定义了一些功能可以专门操作单列集合数据的。

常用功能:

1、int binarySearch(List list, E e ):

使用二分查找法查找指定元素e在list集合中第一次出现的索引值

使用前提:要求集合的数据必须排序

返回值:
查找的元素在集合中有返回对应的索引值
集合没有元素返回负数

2、int frequency(Collection c, E e):

返回在集合 c 中的元素 e 的个数

3、max、min:

获取集合的最大值或者最小值

4、replaceAll(List list, E oldVal, E newVal):

使用新的数据替换list集合中旧的数据

5、reverse(List list):

反转指定集合list的数据

6、shuffle(List list):

随机打乱指定集合list元素的位置【打乱顺序】

7、swap(List list, int a, int b):

交换集合list中a和b两个索引位置上面的值

8、synchronizedXxx 方法系列:

Xxx指的是集合的类型【Collection List】
把一个线程不安全的集合变成线程安全的集合

9、unmodifiableXxx 方法系列:

返回一个不能修改的集合

10、sort(List list):

对list集合进行升序排序

代码示例:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class CollectionsDemo {
	public static void main(String[] args) {
		//创建集合对象
		ArrayList<Integer> arrayList = new ArrayList<Integer>();
		
		//向集合中添加元素
		arrayList.add(1);
		arrayList.add(32);
		arrayList.add(12);
		arrayList.add(90);
		arrayList.add(-12);
		arrayList.add(-11);
		arrayList.add(12);
		
		System.out.println(arrayList); //[1, 32, 12, 90, -12, -11, 12]
		
		//对集合进行升序排列
		Collections.sort(arrayList);
		System.out.println(arrayList); //[-12, -11, 1, 12, 12, 32, 90]
		
		//使用二分法查找指定元素在集合中第一次出现的索引位置
		//使用此方法,必须要先排序,在查找
		int num = Collections.binarySearch(arrayList, 1);
		System.out.println(num); //2
		
		//返回集合中指定元素出现的次数
		System.out.println(Collections.frequency(arrayList, 12)); //2
		
		//获取集合的最大值
		System.out.println(Collections.max(arrayList)); //90
		
		//获取集合的最小值
		System.out.println(Collections.min(arrayList)); //-12
		
		//使用新的数据替换list集合中旧的数据
		Collections.replaceAll(arrayList, 12, 100);
		System.out.println(arrayList); //[-12, -11, 1, 100, 100, 32, 90]
		
		//随机打乱指定集合list元素的位置【打乱顺序】
		Collections.shuffle(arrayList);
		System.out.println(arrayList);  //每次顺序都不一样
		
		//交换集合list中a和b两个索引位置上面的值
		Collections.swap(arrayList, 2, 6);
		System.out.println(arrayList); //[1, 100, -11, 90, 32, 100, -12]
		
		//把一个线程不安全的集合变成线程安全的集合
		List<Integer> arrayList2 = Collections.synchronizedList(arrayList);
		System.out.println(arrayList); //[-11, 100, 1, 90, 32, 100, -12]
		System.out.println(arrayList2); //[-11, 100, 1, 90, 32, 100, -12]
		
		//返回一个不能修改的集合
		List<Integer> arrayList3 = Collections.unmodifiableList(arrayList);
//		arrayList3.add(50);  //如果修改,编译不报错,运行报错
//		System.out.println(arrayList3);

	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值