对LinkedList熟悉的一个小练手程序
package test;
import java.util.LinkedList;
class Poker{
String color;
String num;
public Poker(String color, String num) {
super();
this.color = color;
this.num = num;
}
@Override
public String toString() {
return "[" + color + num + "]";
}
}
public class 使用Linked_List实现扑克牌 {
public static LinkedList creatPoker(){
LinkedList<Poker> list = new LinkedList<Poker>();
String[] colors = {"红桃","黑桃","梅花","方块"};
String[] nums = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
for(int i = 0; i < colors.length; i++){
for(int j = 0; j < nums.length; j++){
list.add(new Poker(colors[i],nums[j]));
}
}
return list;
}
public static void showPoker(LinkedList pokers) {
for(int i = 0; i < pokers.size(); i++) {
System.out.println(pokers.get(i));
}
}
public static void shufflePoker(LinkedList pokers) {
//洗牌100次
for(int i = 0; i < 100; i++) {
int index1 = (int) (Math.random() * pokers.size());
int index2 = (int) (Math.random() * pokers.size());
Poker poker1 = (Poker) pokers.get(index1);
Poker poker2 = (Poker) pokers.get(index2);
pokers.set(index1, poker2);
pokers.set(index2, poker1);
}
}
public static void main(String[] args) {
LinkedList poker = creatPoker();
shufflePoker(poker);
showPoker(poker);
}
}