java:集合框架(模拟斗地主洗牌和发牌并对牌进行排序的代码实现)

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.TreeSet;

public class Test2 {

	public static void main(String[] args) {
		String[] num = {"3","4","5","6","7","8","9","10","J","Q","K","A","2" };
		String[] color = {"方片","梅花","红桃","黑桃"};
		HashMap<Integer, String> hm=new HashMap<>();//存储索引和扑克牌
		ArrayList<Integer> list=new ArrayList<>();//存储索引
		int index=0;//索引的开始值
		
		
		for(String s1:num) {
			for (String s2 : color) {
				hm.put(index, s2.concat(s1)); //将索引和扑克牌添加到HashMap中
				list.add(index);//将索引添加到ArrayList集合中
				index++;
			}
		}
		hm.put(index, "小王");
		list.add(index);
		index++;
		hm.put(index, "大王");
		list.add(index);
		System.out.println(list);
		System.out.println(hm);
		Collections.shuffle(list);
		TreeSet<Integer> gaojin =new TreeSet<>();
		TreeSet<Integer> longwu =new TreeSet<>();
		TreeSet<Integer> me =new TreeSet<>();
		TreeSet<Integer> dipai =new TreeSet<>();
		for(int i=0;i<list.size();i++) {
			if(i>=list.size()-3) {
				dipai.add(list.get(i));//将三张底牌存进底牌集合中
			}else if(i%3==0) {
				gaojin.add(list.get(i));//将list集合中的索引添加到TreeSet集合中会自动排序
			}else if(i%3==1) {
				longwu.add(list.get(i));
			}else if(i%3==2) {
				me.add(list.get(i));
			}
		}
		lookPoker (hm,gaojin,"高进");
		lookPoker (hm,longwu,"龙五");
		lookPoker (hm,me,"我");
		lookPoker (hm,dipai,"dipai");
	}
	
	public static void lookPoker(HashMap<Integer, String> hm1,TreeSet<Integer> ts,String name) {
		System.out.println(name+"的牌是:");
		for (Integer i : ts) {//i代表双列集合中的每一个键
			System.out.print(hm1.get(i)+" ");
		}
		System.out.println();
	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值