1.泛型:是jdk5.0后的版本
作用:为了规范集合保存数据类型,可以使用泛型进行约束
2.ArrayList是有序可重复的,有的集合是没有下标的,就不可以使用get()方法获取数据
3.Iterator接口
接口不能实例化,但是接口对象可以指向他的实现类对象
4,斗地主案例
import java.util.ArrayList;import java.util.Collections;/*** 斗地主案例*/public class CardDemo {public static void main(String[] args) {//准备牌//集合中记录一副牌ArrayList<String> poker = new ArrayList<>();//定义花色ArrayList<String> colors = new ArrayList<>();colors.add("♣");colors.add("◇");colors.add("♠");colors.add("♥");//定义一个集合存放数字ArrayList<String> numbers = new ArrayList<>();//使用循环赋值for (int i = 2; i <= 10; i++) {numbers.add(i+"");}numbers.add("J");numbers.add("Q");numbers.add("K");numbers.add("A");//嵌套迭代的方式完成每一张牌的组装//利用foreachfor(String thisColor:colors){ // 外层循环遍历花色for(String thisNumber:numbers){ // 内层循环遍历数字//通过花色与数字对应每一张牌poker.add(thisColor+thisNumber);//存入52张牌}}//补充大小王poker.add("大王");poker.add("小王");//测试//System.out.println(poker);//洗牌-直接调用方法//Collections是一个集合工具类,提供了很多的集合中处理的静态方法Collections.shuffle(poker);//打乱集合//发牌 - 将每个人及底牌设置为一个集合,最后的3张放入底牌中,剩余牌通过对3进行取余依次发牌ArrayList<String> player1 = new ArrayList<>();ArrayList<String> player2 = new ArrayList<>();ArrayList<String> player3 = new ArrayList<>();ArrayList<String> dipai = new ArrayList<>();//使用普通for,通过下标处理//除了最后3张,其他的都发给玩家for (int i = 0; i < poker.size()-3; i++) {//获取当前牌String thisCard = poker.get(i);//对3取余if(i%3==0){player1.add(thisCard);}else if(i%3==1){player2.add(thisCard);}else{player3.add(thisCard);}}//最后三张for (int i = poker.size()-3; i < poker.size(); i++) {String thisCard = poker.get(i);dipai.add(thisCard);}//看牌System.out.println(player1);System.out.println(player2);System.out.println(player3);System.out.println(dipai);}}
5.
6.
