考察了 可变参数 泛型 增强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]);
}
}