java的集合方便了我们管理和操作大量的数据,在很多地方都用多,特别在java Web要操作数据库时,那是必不可少的!!!集合类的作用是用于储存、检索和操纵数据,以及将数据从一个方法传输至另一个方法等等。
很简单的代码就可以实现
package list;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.TreeSet;
import org.junit.Test;
public class faatPaai {
@Test
public void SaiPaai() {
//HashMap的key方便发牌时获取牌
HashMap<Integer,String> paais = new HashMap<Integer,String>();
ArrayList<Integer> arrys = new ArrayList<Integer>();
//牌的四种颜色
String[] colors = { "♠", "♥", "♣", "♦" };
//牌的数字,("A", "2")放在后面方便牌排序
String[] numbers = { "3", "4", "5", "6", "7", "8", "9", "10",
"J", "Q", "K","A", "2" };
int index = 0;
//数字放在第一个for也是为方便牌排序
for (String number : numbers) {
for (String color : colors) {
paais.put(++index,color.concat(number));
arrys.add(index);
}
}
paais.put(++index,"小王");
arrys.add(index);
paais.put(++index,"大王");
arrys.add(index);
//洗牌
Collections.shuffle(arrys);
//TreeSet类自带排序,方便操作
TreeSet<Integer> peasant1 = new TreeSet<Integer>();
TreeSet<Integer> peasant2 = new TreeSet<Integer>();
TreeSet<Integer> landlord = new TreeSet<Integer>();
TreeSet<Integer> daiPaai = new TreeSet<Integer>();
for (int i = 0; i < paais.size(); i++) {
//牌剩下三张是发给底牌
if (i >= paais.size() - 3) {
daiPaai.add(arrys.get(i));
} else if (i % 3 == 0) {
peasant1.add(arrys.get(i));
} else if (i % 3 == 1) {
peasant2.add(arrys.get(i));
} else if (i % 3 == 2) {
landlord.add(arrys.get(i));
}
}
//发牌
faaiPaai("底牌",daiPaai,paais);
faaiPaai("农民",peasant1,paais);
faaiPaai("农民",peasant2,paais);
faaiPaai("地主",landlord,paais);
}
public void faaiPaai(String name,TreeSet<Integer> personage,HashMap<Integer,String> paais){
System.out.print(name+"牌为:");
for(Integer paaisou : personage){
String paai = paais.get(paaisou);
System.out.print(paai+" ");
}
System.out.println();
}
}