public class Demo01 { public static void main(String[] args) { //创建装有牌的Map集合 HashMap<Integer,String> pooker=new HashMap<Integer,String>(); //创建装有牌号的ArrayList集合 ArrayList<Integer> pookerNum=new ArrayList<Integer>(); //封装花色和号码 String color[]={"黑桃","红心","菱形","梅花"}; String number[]={"2","A","K","Q","J","10","9","8" ,"7","6","5","4","3" }; int index=2; for(String num:number){ for(String col:color){ //封装Map集合 pooker.put(index,col+num); //将key值封装到list集合中 pookerNum.add(index); index++; } } //封装大小王 pooker.put(0, "大王"); pooker.put(1, "小王"); pookerNum.add(0); pookerNum.add(1); //洗牌 Collections.shuffle(pookerNum); //创建三个玩家一个底牌 ArrayList<Integer> player1=new ArrayList<Integer>(); ArrayList<Integer> player2=new ArrayList<Integer>(); ArrayList<Integer> player3=new ArrayList<Integer>(); ArrayList<Integer> bottom=new ArrayList<Integer>(); //发牌 for(int i=0;i<pookerNum.size();i++){ //先将前三张牌发给底牌 if(i<3){ bottom.add(pookerNum.get(i)); }else if(i%3==0){//发给玩家1 player1.add(pookerNum.get(i)); }else if(i%3==1){ player2.add(pookerNum.get(i)); }else if(i%3==2){ player3.add(pookerNum.get(i)); } } //排序 Collections.sort(player1); Collections.sort(player2); Collections.sort(player3); Collections.sort(bottom); //看牌 look("渣渣灰",pooker,player1); look("刘嘉玲",pooker,player2); look("林志炫",pooker,player3); look("底牌",pooker,bottom); } //写一个方法遍历集合看牌 public static void look(String name,HashMap<Integer,String> pooker ,ArrayList<Integer> player){ System.out.print(name+":"); //遍历玩家集合牌号 for(int key:player){ //根据每一个牌号取map集合中找对应的值 System.out.print(pooker.get(key)+" "); } System.out.println(); }