国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

集合練習 之 斗地主發牌

2019-11-14 23:00:47
字體:
來源:轉載
供稿:網友
集合練習 之 斗地主發牌

 

 

 

》HashMap 的key底層數據結構是哈希表

》ArrayList 底層數據結構是數組,查詢快,增刪慢

》TreeSet  底層數據結構式紅黑樹(平衡二叉樹),默認構造器采用自然排序(Integer已經實現了Comparable接口 )。

 

 

package cn.itcast.day18;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.TreeSet;/* * 斗地主 發牌程序 *  * A:創建HashMap<Integer,String>用于存放裝牌號和牌。 * B: 創建花色數組,創建點數數組(3最小) * B:創建ArrayList用于存放牌號 * C: 把牌號和牌放到對應的HashMap中,同時把牌號放到ArrayList中 * C:洗牌(洗牌號) * D: 發牌,遍歷ArrayList中的牌號,去HashMap中招對應的牌,用TreeSet存放牌. * E: 遍歷每一個TreeSet得到對應人的牌 */public class PokerDemo {    public static void main(String[] args) {        //創建牌核        HashMap<Integer,String> hm=new HashMap<Integer,String>();                //創建牌號盒        ArrayList<Integer> array=new ArrayList<Integer>();                        //創建花色數組         String[] colors={"?","?","?","?"};        //創建點數數組          String[] numbers={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};                  //把牌號和牌存入HashMap,把牌號存入ArrayList中         int index=0;         for(String number:numbers){             for(String color:colors){                 String s=color.concat(number);                 hm.put(index,s);                 array.add(index);                 index++;             }         }         hm.put(index, "大王");         array.add(index);         index++;         hm.put(index, "小王");         array.add(index);                  //洗牌         Collections.shuffle(array);                  //發牌時用TreeSet存放         TreeSet<Integer> sunWuKong=new TreeSet<Integer>();         TreeSet<Integer> zhuBaJie=new TreeSet<Integer>();         TreeSet<Integer> shaHeShang=new TreeSet<Integer>();         TreeSet<Integer> dipai=new TreeSet<Integer>();                  //遍歷洗過的牌號集合ArrayList,并發牌號        for(Integer i:array){            if(array.size()-i<=3){                diPai.add(i);            }else if(i%3==2){                sunWuKong.add(i);            }else if(i%3==1){                zhuBaJie.add(i);            }else if(i%3==0){                shaHeShang.add(i);            }        }        lookPoker("孫悟空",sunWuKong,hm);        lookPoker("豬八戒",zhuBaJie,hm);        lookPoker("沙和尚",shaHeShang,hm);        lookPoker("底牌",diPai,hm);            }            public static void lookPoker(String name,TreeSet<Integer> pai,HashMap<Integer,String> hm){        System.out.PRint(name+"的牌是 :");        for(Integer i:pai){            System.out.print(hm.get(i)+" ");        }        System.out.println();    }}
/*

孫悟空的牌是 :?3 ?4 ?5 ?5 ?6 ?7 ?8 ?8 ?9 ?10 ?J ?J ?Q ?K ?A ?A ?2 豬八戒的牌是 :?3 ?4 ?4 ?5 ?6 ?7 ?7 ?8 ?9 ?10 ?10 ?J ?Q ?K ?K ?A ?2 沙和尚的牌是 :?3 ?3 ?4 ?5 ?6 ?6 ?7 ?8 ?9 ?9 ?10 ?J ?Q ?Q ?K ?A ?2 底牌的牌是 :?2 大王 小王

*/

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沾化县| 安康市| 连南| 阿克| 革吉县| 青浦区| 隆尧县| 凌源市| 靖江市| 衢州市| 景东| 瑞丽市| 茶陵县| 东乡| 孙吴县| 金沙县| 盘锦市| 定日县| 五峰| 和硕县| 龙井市| 花垣县| 华安县| 天津市| 保康县| 砀山县| 太白县| 仲巴县| 孟州市| 友谊县| 镇赉县| 五莲县| 崇州市| 舟山市| 闽侯县| 河间市| 河北区| 太仆寺旗| 盐山县| 西乌珠穆沁旗| 乐山市|