package com.orcal.demo01; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Map; public class doudizhu { public static void main(String[] args) { //创建扑克牌map和装有key值得集合 Map<Integer, String> pooker=new HashMap<Integer, String>(); ArrayList<Integer> pookerNumber=new ArrayList<Integer>(); //封装Map String[] color={"♠","♣","♦","♥"}; String[] number={"2","A","K","Q","J","10","9","8","7","6","5","4","3"}; int index=2; for(String n:number){ for(String c:color){ //封装map pooker.put(index, c+n); //封装集合 pookerNumber.add(index); index++; } } //封装大小王 pooker.put(0, "大王"); pooker.put(1, "小王"); //洗牌 Collections.shuffle(pookerNumber); //创建四个容器 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<pookerNumber.size();i++){ if(i<3){ bottom.add(pookerNumber.get(i)); }else if(i%3==0){ player1.add(pookerNumber.get(i)); }else if(i%3==1){ player2.add(pookerNumber.get(i)); }else if(i%3==2){ player3.add(pookerNumber.get(i)); } } //给每个容器排序 Collections.sort(player1); Collections.sort(player2); Collections.sort(player3); Collections.sort(bottom); look("玩家1",pooker,player1); look("玩家2",pooker,player2); look("玩家3",pooker,player3); look("底牌",pooker,bottom); } //看牌的方法 public static void look(String name,Map<Integer, String> pooker,ArrayList<Integer> player){ System.out.print(name+":"); for(int num:player){ System.out.print(pooker.get(num)+" "); } System.out.println(); } }
Java中final、finalize()、finally三者的区别
Final是一个修饰符:
当final修饰一个变量的时候,变量变成一个常量,它不能被二次赋值
当final修饰的变量为静态变量(即由static修饰)时,必须在声明这个变量的时候给它赋值
当final修饰方法时,该方法不能被重写
当final修饰类时,该类不能被继承
Final不能修饰抽象类,因为抽象类中会有需要子类实现的抽 象方法,(抽 象类中可以有抽象方法,也可以有普通方法,当一个抽象类中没有抽象方 法时,这个抽象类也就没有了它存在的必要)
Final不能修饰接口,因为接口中有需要其实现类来实现的方法
Finally:
Finally只能与try/catch语句结合使用,finally语句块中的语句一定会执行, 并且会在return,continue,break关键字之前执行
finalize:
Finalize是一个方法,属于java.lang.Object类,finalize()方法是GC (garbage collector垃圾回收)运行机制的一部分,finalize()方法是在 GC清理它所从 属的对象时被调用的
手动清理,sysytem.gc