1.泛型:是jdk5.0后的版本
    作用:为了规范集合保存数据类型,可以使用泛型进行约束
    2.ArrayList是有序可重复的,有的集合是没有下标的,就不可以使用get()方法获取数据
    3.Iterator接口
    接口不能实例化,但是接口对象可以指向他的实现类对象
    4,斗地主案例

    1. import java.util.ArrayList;
    2. import java.util.Collections;
    3. /**
    4. * 斗地主案例
    5. */
    6. public class CardDemo {
    7. public static void main(String[] args) {
    8. //准备牌
    9. //集合中记录一副牌
    10. ArrayList<String> poker = new ArrayList<>();
    11. //定义花色
    12. ArrayList<String> colors = new ArrayList<>();
    13. colors.add("♣");
    14. colors.add("◇");
    15. colors.add("♠");
    16. colors.add("♥");
    17. //定义一个集合存放数字
    18. ArrayList<String> numbers = new ArrayList<>();
    19. //使用循环赋值
    20. for (int i = 2; i <= 10; i++) {
    21. numbers.add(i+"");
    22. }
    23. numbers.add("J");
    24. numbers.add("Q");
    25. numbers.add("K");
    26. numbers.add("A");
    27. //嵌套迭代的方式完成每一张牌的组装
    28. //利用foreach
    29. for(String thisColor:colors){ // 外层循环遍历花色
    30. for(String thisNumber:numbers){ // 内层循环遍历数字
    31. //通过花色与数字对应每一张牌
    32. poker.add(thisColor+thisNumber);//存入52张牌
    33. }
    34. }
    35. //补充大小王
    36. poker.add("大王");
    37. poker.add("小王");
    38. //测试
    39. //System.out.println(poker);
    40. //洗牌-直接调用方法
    41. //Collections是一个集合工具类,提供了很多的集合中处理的静态方法
    42. Collections.shuffle(poker);//打乱集合
    43. //发牌 - 将每个人及底牌设置为一个集合,最后的3张放入底牌中,剩余牌通过对3进行取余依次发牌
    44. ArrayList<String> player1 = new ArrayList<>();
    45. ArrayList<String> player2 = new ArrayList<>();
    46. ArrayList<String> player3 = new ArrayList<>();
    47. ArrayList<String> dipai = new ArrayList<>();
    48. //使用普通for,通过下标处理
    49. //除了最后3张,其他的都发给玩家
    50. for (int i = 0; i < poker.size()-3; i++) {
    51. //获取当前牌
    52. String thisCard = poker.get(i);
    53. //对3取余
    54. if(i%3==0){
    55. player1.add(thisCard);
    56. }else if(i%3==1){
    57. player2.add(thisCard);
    58. }else{
    59. player3.add(thisCard);
    60. }
    61. }
    62. //最后三张
    63. for (int i = poker.size()-3; i < poker.size(); i++) {
    64. String thisCard = poker.get(i);
    65. dipai.add(thisCard);
    66. }
    67. //看牌
    68. System.out.println(player1);
    69. System.out.println(player2);
    70. System.out.println(player3);
    71. System.out.println(dipai);
    72. }
    73. }

    5.
    image.png
    6.image.png