考察了 可变参数 泛型 增强for循环 集合的嵌套遍历
一、学生案例
package com.shulian_01; import java.util.ArrayList; import java.util.List; public class ArrayListTest { public static void main(String[] args) { List<Student> ka1 = new ArrayList<Student>(); Student s1 = new Student("张一",20); Student s2 = new Student("张二",21); Student s3 = new Student("张三",22); ka1.add(s1); ka1.add(s2); ka1.add(s3); List<Student> ka2 = new ArrayList<Student>(); Student l1 = new Student("李一",20); Student l2 = new Student("李二",21); Student l3 = new Student("李三",22); ka2.add(l1); ka2.add(l2); ka2.add(l3); List<List<Student>> llt = new ArrayList<List<Student>>(); llt.add(ka1); llt.add(ka2); for(List<Student> l : llt){ for(Student s : l){ System.out.println(s.getName()+"---"+s.getAge()); } } } }
package com.shulian_01; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
二、获取10个1-20之间的随机数,要求不能重复
package com.shulian_02; import java.util.ArrayList; import java.util.Random; /* * 获取10个1-20之间的随机数,要求不能重复 分析: A.创建产出随机数的对象 B.创建一个存储随机的数的集合 C.定义一个统计变量 初始值为0 D.判断集合中是否有这个随机数 是:不往里存 否:往里存,统计变量++ D.遍历这个集合 */ public class ArrayListTest { public static void main(String[] args) { Random rd = new Random(); ArrayList<Integer> al = new ArrayList<Integer>(); int count = 0; while(count < 10){ int n = rd.nextInt(20)+1; if(!al.contains(n)){ al.add(n); count++; } } for(int i : al){ System.out.println(i); } } }
三、键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值
package com.shulian_03; import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; /* * 键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值 分析: A.创建键盘录入对象 B.创建集合对象 C.如果接到到录入的数据为0,退出 D.把集合转换为数组 E.取数组中最大索引的那个数,就是最大值 D.把最大值输出 */ public class ArrayListTest { public static void main(String[] args) { Scanner sc = new Scanner(System.in); ArrayList<Integer> al = new ArrayList<Integer>(); while(true){ System.out.println("请输入数据:"); int n = sc.nextInt(); if(n==0){ break; } al.add(n); } //把集合转换为数组 Integer[] arr = new Integer[al.size()]; al.toArray(arr); //数组排序 Arrays.sort(arr); System.out.println("输入的数据中最大数是:"+arr[arr.length-1]); } }