1.Collection集合常用功能
public boolean add (E e); 把给定的对象添加到当前的集合中。
public void clear (); 清空集合中的所有元素。
public boolean remove (E e); 删除集合中指定的元素。
public boolean contians (E e); 判断集合中是否存在指定的对象。
public boolean isEmpty (); 判断当前集合是否为空。
public int size (); 返回集合中的元素个数。
public Object[] toArray (); 把集合中的元素存储到数组中。
2.lterator接口介绍
boolean next(); 如果仍有元素可以迭代,就返回true。
E hasnext(); 返回迭代的下一个元素。
Collection接口中有一个iterator()方法,这个接口返回的就是iterator迭代器的实现类对象。
foreach (增强for循环) 底层仍然是个迭代器,for (数据类型 变量名: 数组/集合) { 输出语句输出变量}
3.泛型(一种未知的数据类型)
泛型统配符 ? 只可用于方法参数使用,不能创建对象使用。
4.斗地主综合案例
(1)需求分析
准备牌,把54张牌准备到一个集合里面
特殊牌:大王小王
其他52张牌:
准备一个集合/数组来存储牌的花色
准备一个集合/数组来存储牌的数字
循环嵌套两个数组/集合组装52张牌
洗牌,使用集合工具类Collection的方法
static viod shuffle (List<?> list) 使用指定的随机源对指定列表进行置换
会随机的打乱集合中元素的顺序
发牌
要求:每人17张牌,剩余三张做底牌,一人一张轮流发牌的集合的索引为 (0-53)%3
定义四个集合存储玩家的牌和底牌
索引%3会出现三个不同的结果 0 1 2
当索引大于等于51时,改为底牌发牌
看牌
直接打印集合或者遍历玩家和牌的集合
(2)代码设计
package com.company;
import java.sql.SQLOutput;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
// write your code here
/* 斗地主综合案例
1.准备牌
2.洗牌
3.发牌
4.看牌
*/
// 1.准备牌
// 准备一个集合存储牌
ArrayList<String> poker = new ArrayList<>();
// 准备两个数组来分别存储牌的序号和牌的花色
String[] colors = {
"♥","♠","♣","■"};
String[] number = {
"2","A","K","Q","J","10","9","8","7","6","5","4"<