Java集合工具类Collections

对于数组有针对数组操作的工具类Arrays
对于集合也有针对集合操作的工具类Collections

针对集合,当我们想要对其进行一些操作,比如排序,乱序等操作时,就会比较麻烦,这时候可以使用Collections里的方法对其进行操作

1.void sort(List list):对集合进行自然升序排列

		//创建集合对象
		ArrayList<Integer> list = new ArrayList<Integer>();
		//添加数据
		list.add(24);
		list.add(11);
		list.add(55);
		list.add(2);
		list.add(10);
		list.add(6);
		//进行升序排列
		Collections.sort(list);
		//打印集合
		System.out.println(list);//打印结果:[2, 6, 10, 11, 24, 55]

通过此方法我们可以对集合进行简单的升序的排列

2.void reverse(List list):对集合元素进行反序排列

		//创建集合对象
		ArrayList<Integer> list = new ArrayList<Integer>();
		//添加数据
		list.add(24);
		list.add(11);
		list.add(55);
		list.add(2);
		list.add(10);
		list.add(6);
		//排序前
		System.out.println(list);//打印结果:[24, 11, 55, 2, 10, 6]
		//进行反序排列
		Collections.reverse(list);;
		//排序后
		System.out.println(list);//打印结果:[6, 10, 2, 55, 11, 24]

通过打印结果可以看到,集合元素在原有的排序上进行了反转

3.void shuffle(List list):对集合元素进行乱序排列

		//创建集合对象
		ArrayList<Integer> list = new ArrayList<Integer>();
		//添加数据
		list.add(10);
		list.add(20);
		list.add(24);
		list.add(32);
		list.add(35);
		//排序前
		System.out.println(list);//打印结果:[10, 20, 24, 32, 35]
		//进行乱序排列第一次
		Collections.shuffle(list);
		//排序后第一次
		System.out.println(list);//打印结果:[32, 20, 35, 24, 10]
		//进行乱序排列第二次
		Collections.shuffle(list);
		//排序后第二次
		System.out.println(list);//打印结果:[20, 35, 10, 32, 24]

通过打印结果可以看到,每一次乱序排列后的结果都是不一样的

上述讲解了Collections集合工具类常用的方法中的三种,通过这些方法我们可以做一个扑克牌洗牌的案例

以下为代码

		//数组存储点数
		String[] number = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
		//数组存储花色
		String[] color = {"♠","♥"," ♦","♣"};
		//创建集合存储牌
		ArrayList<String> list = new ArrayList<String>();
		//把牌存入集合
		//第一个for循环循环花色
		for(int i = 0;i < color.length;i++) {
			//第二个for循环循环点数
			for(int j = 0;j < number.length;j++) {
				//讲花色和点数进行拼接
				list.add(color[i]+number[j]);
			}
		}
		//打印存放后的牌
		System.out.println(list);
		//对牌进行乱序排列
		Collections.shuffle(list);
		//打印乱序后的牌
		System.out.println(list);

上述主要是做了洗牌的操作,运行后的结果如下图所示:

在这里插入图片描述

上述主要是对Collections集合操作工具类进行了介绍
今天的分享就到这里了,如果有错误的地方,欢迎大家来指点!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值