其实边做一些有意思的东西,边学知识是不枯燥的,曾经对于Arraylist集合就是不理解,经过了自己看视频整理笔记发现,最好的方式与方法就是做出一些有意思的东西,比如下面这个案例,通过这个案例可能会对你理解Arraylist集合有帮助
package IO_liu;
import java.util.ArrayList;
import java.util.Collections;
/*
* 模拟斗地主发牌
* 买牌
* 洗牌
* 发牌
*
*/
public class CollectionsDemo {
public static void main(String[] args) {
// 买牌
String[] arr = { "黑桃", "红桃", "方片", "梅花" };
String[] arr2 = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "k" };
ArrayList<String> box = new ArrayList<String>();
// 添加每张牌
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr2.length; j++) {
// 获取每一张牌
box.add(arr[i] + arr2[j]);
}
}
box.add("大王");
box.add("小王");
System.out.println("总共有:" + box.size() + "牌");
System.out.println(box);
// 洗牌
Collections.shuffle(box);
System.out.println(box);
// 发牌
ArrayList<String> 林志玲 = new ArrayList<String>();
ArrayList<String> 林心如 = new ArrayList<String>();
ArrayList<String> 柳岩 = new ArrayList<String>();
// 留三张底牌给地主
for (int i = 0; i < box.size(); i++) {
/*
* i = 0 ; i%3 = 0 i = 1 ; i%3 = 1 i = 2 ; i%3 = 2 i = 3 ; i%3 = 0 i = 4 ; i%3 =
* 1 i = 5 ; i%3 = 2
*/
if (i % 3 == 0) {
林志玲.add(box.get(i));
} else if (i % 3 == 1) {
林心如.add(box.get(i));
} else if (i % 3 == 2) {
柳岩.add(box.get(i));
}
}
System.out.println("林志玲: \t" + 林志玲);
System.out.println("林心如: \t" + 林心如);
System.out.println("柳岩:\t " + 柳岩);
// 获取底牌
System.out.println("地主的底牌为:");
System.out.println(box.get(box.size() - 1));
System.out.println(box.get(box.size() - 2));
System.out.println(box.get(box.size() - 3));
}
}