Collections类使用,模拟斗地主洗牌
2014-12-01 09:40
295 查看
Collections一个操作集合的工具类,提供的方法都是静态方法,构造方法已被私有化。
运行结果:
package com; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Test { public static void main(String[] args) { System.out.println("--------洗牌--------"); List<Integer> list = new ArrayList<Integer>(); // 添加54张牌,每个i对应一张牌 for (int i = 0; i < 54; i++) { list.add(i); } Collections.shuffle(list); // 洗牌(打乱顺序) // 三个人的牌 List<Integer> list1 = new ArrayList<Integer>(); List<Integer> list2 = new ArrayList<Integer>(); List<Integer> list3 = new ArrayList<Integer>(); // 底牌 List<Integer> dipai = new ArrayList<Integer>(); for (int i = 0; i < 51; i += 3) { list1.add(list.get(i)); list2.add(list.get(i + 1)); list3.add(list.get(i + 2)); } dipai.add(list.get(51)); dipai.add(list.get(52)); dipai.add(list.get(53)); System.out.println("第一个人的牌:" + list1); System.out.println("第二个人的牌:" + list2); System.out.println("第三个人的牌:" + list3); System.out.println("底牌:" + dipai); System.out.println("----------排序----------"); List<String> list_sort = new ArrayList<String>(); list_sort.add("ddd"); list_sort.add("bbb"); list_sort.add("aaa"); list_sort.add("ccc"); System.out.println("排序前:" + list_sort); Collections.sort(list_sort); System.out.println("排序后:" + list_sort); System.out.println("----------反转----------"); List<String> list_reverse = new ArrayList<String>(); list_reverse.add("111"); list_reverse.add("444"); list_reverse.add("999"); list_reverse.add("000"); System.out.println("反转前:" + list_reverse); Collections.reverse(list_reverse); System.out.println("反转后:" + list_reverse); System.out.println("----------返回最大最小值----------"); List<Integer> list_max_min = new ArrayList<Integer>(); list_max_min.add(3); list_max_min.add(20); list_max_min.add(12); list_max_min.add(9); System.out.println("最大值:" + Collections.max(list_max_min)); System.out.println("最小值:" + Collections.min(list_max_min)); } }
运行结果:
--------洗牌-------- 第一个人的牌:[25, 33, 41, 14, 3, 46, 39, 51, 50, 45, 2, 40, 6, 42, 15, 21, 30] 第二个人的牌:[53, 32, 13, 38, 11, 24, 8, 43, 22, 7, 9, 4, 49, 35, 36, 16, 27] 第三个人的牌:[48, 47, 18, 1, 26, 31, 17, 5, 20, 23, 34, 28, 29, 52, 0, 44, 10] 底牌:[19, 37, 12] ----------排序---------- 排序前:[ddd, bbb, aaa, ccc] 排序后:[aaa, bbb, ccc, ddd] ----------反转---------- 反转前:[111, 444, 999, 000] 反转后:[000, 999, 444, 111] ----------返回最大最小值---------- 最大值:20 最小值:3
相关文章推荐
- Java中使用HashMap,TreeSet和List来实现模拟斗地主的洗牌和发牌的小例子
- Java基础知识强化之集合框架笔记71:模拟斗地主洗牌和发牌并对牌进行排序的案例
- 模拟斗地主洗牌和发牌,牌没有排序
- [置顶] java集合框架的练习之斗地主洗牌发牌的模拟(升级版)
- [置顶] java集合框架的练习之斗地主洗牌发牌的模拟(初级版)
- 黑马程序员——用java模拟斗地主洗牌和发牌
- 大数据之JAVA基础(十七):集合--模拟斗地主洗牌和发牌
- java学习笔记(二十五)模拟斗地主发牌与洗牌
- java-模拟斗地主的洗牌和发牌
- Java学习笔记34(集合框架八:综合案例:模拟斗地主的洗牌发牌)
- 集合框架_模拟斗地主洗牌和发牌
- Java模拟斗地主洗牌、发牌和对牌排序
- 用java编写模拟斗地主洗牌发牌程序
- 模拟斗地主洗牌和发牌
- JAVA-11.3-模拟斗地主洗牌、发牌、并进行排序(集合)
- 使用collections工具类实现斗地主中的洗牌和发牌过程
- 用java模拟斗地主洗牌和发牌
- 集合框架-模拟斗地主洗牌和发牌案例
- Java_基础—模拟斗地主洗牌和发牌并对牌进行排序
- 模拟斗地主的发牌洗牌看牌的功能,主要用到了ArrayList(),HashMap(),的添加和遍历可以参考一下