List练习 三个案例

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

}


猜你喜欢

转载自blog.csdn.net/latesummer_/article/details/80199506