【Collections:集合工具类:扑克游戏】

package com.yjf.esupplier.common.test;

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

/**
 * @author shusheng
 * @description 扑克游戏
 * @Email [email protected]
 * @date 2018/12/18 17:37
 */
public class PokerDemo {

    public static void main(String[] args) {
        // 创建一个牌盒
        ArrayList<String> array = new ArrayList<String>();
        String[] colors = {"?", "?", "?", "?"};
        // 定义一个点数数组
        String[] numbers = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
        // 装牌
        for (String color : colors) {
            for (String number : numbers) {
                array.add(color.concat(number));
            }
        }
        array.add("小王");
        array.add("大王");
        // 洗牌
        Collections.shuffle(array);
        System.out.println("array:" + array);

        // 发牌
        ArrayList<String> fengQingYang = new ArrayList<String>();
        ArrayList<String> linQingXia = new ArrayList<String>();
        ArrayList<String> liuYi = new ArrayList<String>();
        ArrayList<String> diPai = new ArrayList<String>();
        for (int x = 0; x < array.size(); x++) {
            if (x >= array.size() - 3) {
                diPai.add(array.get(x));
            } else if (x % 3 == 0) {
                fengQingYang.add(array.get(x));
            } else if (x % 3 == 1) {
                linQingXia.add(array.get(x));
            } else if (x % 3 == 2) {
                liuYi.add(array.get(x));
            }
        }

        // 看牌
        lookPoker("风清扬", fengQingYang);
        lookPoker("林青霞", linQingXia);
        lookPoker("刘意", liuYi);
        lookPoker("底牌", diPai);
    }

    private static void lookPoker(String name, ArrayList<String> array) {
        System.out.print(name + "的牌是:");
        for (String s : array) {
            System.out.print(s + " ");
        }
        System.out.println();
    }

}

原文地址:https://www.cnblogs.com/zuixinxian/p/10341233.html

时间: 2024-08-30 05:15:46

【Collections:集合工具类:扑克游戏】的相关文章

Map集合以及Collections集合工具类

一.Collection集合主要特点与Map集合的区别 Collection: 单列集合:有两个子接口 List集合元素是有序的,可以重复的 Set集合元素是无序的,不可以重复 List:元素可重复,有序 ArrayList:底层数据结构是数组,查询快,增删慢,不同步,线程不安全,效率高:没有特殊说明一般使用ArrayList集合: Vector:底层数据结构是数组,查询快,增删慢,同步,线程安全,效率低:有一个elements()特有迭代方法: LinkedList:底层数据结构是链表,查询慢

java map接口,可变参数,Collections集合工具类

map接口的实现类存储成对的值,键--值.通过键来找到对应的值. Collection中的集合称为单列集合,Map中的集合称为双列集合 Map中常用的集合为HashMap集合.LinkedHashMap集合. HashMap<K,V>:存储数据采用的哈希表结构,元素的存取顺序不能保证一致.由于要保证键的唯一.不重复,需要重写键的hashCode()方法.equals()方法. LinkedHashMap<K,V>:HashMap下有个子类LinkedHashMap,存储数据采用的哈

Collections集合工具类

Collections集合工具类,专门用来对集合进行操作的. 常用方法: public static<T> boolean addAll(Collection<T> c,T....elements):往集合中添加一些元素 public static void shuffle(List<?> list):打乱list集合顺序 public static <T> void sort(List<?> list):将集合中的元素,按照默认规则排序,自定义

Java基础知识回顾-22(静态导入,可变参数,Collections集合工具类,集合嵌套)

1.在导包的时候可以导入其静态部分,这样在类中使用其时,可以直接以其名使用 例如:Map.Entry的访问,在类文件头部导入import java.util.Map.Entry后简化后为Entry. 2.可以用"修饰符 返回值类型 方法名(参数类型... 形参名){  }"的方式来同时传入不确定个数,相同参数类型的参数.比如当求不确定个数的int类型的数据的和时,可以使用这种方式,避免写多个方法,如果参数类型不改变,则该方法不可重载,因为可变参数不确定参数个数吗.若要增加不可变参数,需

JAVA学习--Collections集合工具类使用

* 操作Collection以及Map的工具类:Collections -------------------------------------------------------------------------------------------------------------- *  reverse(List):反转 List 中元素的顺序         shuffle(List):对 List 集合元素进行随机排序         sort(List):根据元素的自然顺序对指定

java Collections集合工具类

/* Collections是Collection的工具类. 工具类中其中两个比较常用的方法就是: 1,sort(list) . sort(list,自定义比较器) 2,max(list) . max(list,自定义比较器) 3,binarySearch(list,key) //利用折半查找的方法找到list中key元素的索引,存在则返回索引,不存在则返回-(插入点)-1 */ import java.util.*; class CollectionsDemo { public static

Collections:集合工具类

public static <T> boolean addAll(Collection<? super T> c, T... elements) 将指定元素们加入到指定集合 public static void reverse(List<?> list) 反转指定列表中元素的顺序 public static void shuffle(List<?> list) 使用默认随机源对指定列表进行置换.所有置换发生的可能性都是大致相等的.即 随机打乱顺序 //数组&

java集合工具类---Collections/Arrays

/* *Collections用于操作List/Set的工具类 *Arrays用于操作数组的工具类 */ package pack; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.TreeSet; public class Main { pu

黑马程序员——Java集合工具类和泛型

Collections工具类和泛型 Collections和Collection Collections和Collection是不同的,Collections是工具类,用来操作集合的,而Collection是集合接口.Collections中有一系列的静态方法用来操作集合,但是不能更改集合内容.比如不能set()不能remove()元素,可以替换全部元素或者添加同一个元素. static List<String> list =Arrays .asList("one Two three