对于数组有针对数组操作的工具类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集合操作工具类进行了介绍
今天的分享就到这里了,如果有错误的地方,欢迎大家来指点!