Collection
public static void main(String[] args) {
//创建集合使用多态
Collection<String> coll = new ArrayList<>();
coll.add("张三");//add方法为集合添加元素
coll.add("李四");
coll.add("王五");
coll.add("王五");
coll.add("吴六");
System.out.println(coll);//[张三, 李四, 王五, 王五, 吴六]
coll.remove("王五");//删除指定元素,只会删除第一个
System.out.println(coll);//[张三, 李四, 王五, 吴六]
boolean b = coll.contains("王五");//判断集合中是否存在给的对象
System.out.println(b);//true
boolean b1 = coll.isEmpty();//判断集合是否为空
System.out.println(b1);//false
int size = coll.size();
System.out.println(size);//4
Object[] array = coll.toArray();//将集合转换为数组
for (int i = 0; i < array.length; i++) {//遍历数组
System.out.println(array[i]);
}
coll.clear();//清空集合
System.out.println(coll);//[]
boolean b2 = coll.isEmpty();
System.out.println(b2);//true
}
迭代器
public static void main(String[] args) {
//创建多态
Collection<String> coll = new ArrayList<>();
coll.add("奥巴马");//添加数据
coll.add("雷欧娜");
coll.add("无极剑圣");
coll.add("无双剑姬");
coll.add("影流之主");
System.out.println(coll);//[奥巴马, 雷欧娜, 无极剑圣, 无双剑姬, 影流之主]
Iterator<String> iterator = coll.iterator();//多态接口,获取迭代器实现类对象
while (iterator.hasNext()){//判断是否还有元素
String next = iterator.next();//取出元素
System.out.println(next);
}
}
增强for循环
public static void main(String[] args) {
int[] arr = new int[]{1,2,3,4,5};//创建数组
for (int i : arr) {//增强for循环遍历数组
System.out.println(i);
}
//使用多态创建集合
Collection<String> coll = new ArrayList<>();
coll.add("aaa");//传入参数
coll.add("bbb");
coll.add("ccc");
coll.add("ddd");
for (String s : coll) {//增强for循环遍历数组
System.out.println(s);
}
}
泛型
泛型是指未知的数据类型
优点:1.避免数据转换 2.把运行期间的异常提升到编译期(写代码的时候就会报错)
缺点:泛型是什么类型,就只能是什么类型的数据
格式:泛型定义在方法的修饰符跟返回值之间
斗地主
public static void main(String[] args) {
ArrayList<String> arr1 = new ArrayList<>();
String[] str1 = {"♥","♠","♣","♦"};
String[] str2 = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
arr1.add("大王");
arr1.add("小王");
for (int i = 0; i < str1.length; i++) {
for (int i1 = 0; i1 < str2.length; i1++) {
//System.out.println(str1[i]+str2[i1]);
arr1.add(str1[i]+str2[i1]);//装牌
}
}
Collections.shuffle(arr1);//洗牌
//发牌
ArrayList<String> p1 = new ArrayList<>();
ArrayList<String> p2 = new ArrayList<>();
ArrayList<String> p3 = new ArrayList<>();
ArrayList<String> dp = new ArrayList<>();
for (int i = 0; i < arr1.size(); i++) {
//System.out.println(arr1.get(i));
if(i>=51){
dp.add(arr1.get(i));
}else if(i%3==0){
p1.add(arr1.get(i));
}else if(i%3==1){
p2.add(arr1.get(i));
}else if(i%3==2){
p3.add(arr1.get(i));
}
}
//看牌
System.out.println(p1);
System.out.println(p2);
System.out.println(p3);
System.out.println(dp);
}