java集合练习题

1.使用list集合存储10个学生信息。

学生信息:姓名、年龄、成绩。

统计所有姓”张“的同学的平均成绩

public class Student {
	private String name;
	private int age;
	private double score;
	public Student() {
		
	}
	public Student(String name,int age,double score) {
		this.name=name;
		this.age=age;
		this.score=score;
	}
	public void setName(String name) {
		this.name=name;
	}
	public String getName() {
		return name;
	}
	public void setAge(int age) {
		this.age=age;
	}
	public int getAGE() {
		return age;
	}
	public void setScore(double score) {
		this.score=score;
	}
	public double getScore() {
		return score;
	}
	public String toString() {
		return "name="+name+",age="+age+",score="+score;
	}

}
import java.util.ArrayList;
import java.util.List;

public class Test_StudentDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		//创建集合
		List<Student> list=new ArrayList<>();
		double sum=0;
		int b=0;
		
		//创建学生对象
		Student s1=new Student("张三",23,98.5);
		Student s2=new Student("李四",23,88.5);
		Student s3=new Student("张五",23,90.2);
		Student s4=new Student("赵六",23,85.5);
		Student s5=new Student("张珊珊",23,70.5);
		Student s6=new Student("后裔",23,91.5);
		
		//将学生对象添加到集合里去
		list.add(s1);
		list.add(s2);
		list.add(s3);
		list.add(s4);
		list.add(s5);
		list.add(s6);
		
		//遍历得到每个学生对象
		for(int i=0;i<list.size();i++) {
			//判断是否为姓张的学生,并求得成绩
			if(list.get(i).getName().startsWith("张")) {
				b++;
				sum+=list.get(i).getScore();
			}
		}
		System.out.print("姓张的学生的成绩为:"+sum);
		
		

	}

}

2.产生10个1-100之间的随机数,并放到一个数组中,把数组中大于等于10的数字放到一个list集合中,并打印到控制台

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class Random_num_Demo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Random r=new Random();
		
		//定义一个数组
		int arr[]=new int[10];
		//产生10个1-100之间的随机数
		for(int i=0;i<arr.length;i++) {
			int i1=r.nextInt(20)+1;
			arr[i]=i1;
		}
		
		//创建集合
		List<Integer> list=new ArrayList<>();
		for(int i=0;i<arr.length;i++) {
			if(arr[i]>=10) {
				list.add(arr[i]);
			}
		}
		System.out.print(list);

	}

}

3.把如下元素存放到list集合"aaa"、"bbb"、"aaa"、"abc"、"xyz"、"123"、"xyz"、"xyz"去掉重复元素

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class List_NonRepeat {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		List<String> list=new ArrayList<>();
		list.add("aaa");
		list.add("bbb");
		list.add("aaa");
		list.add("abc");
		list.add("xyz");
		list.add("123");
		list.add("xyz");
		
		Set<String> set=new HashSet<>(list);
		System.out.println(set);

	}

}

4.用一个大集合存放20个随机数字,然后筛选其中的偶数元素放到小鸡和当中,要求用自定义的方法来筛选

import java.util.ArrayList;
import java.util.Random;

public class List_bigsmlList {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		//创建一个大的集合
		ArrayList<Integer> blist=new ArrayList<>();
		Random r=new Random();
		for(int i=0;i<20;i++) {
			int num=r.nextInt(100)+1;
			blist.add(num);
		}
		System.out.print(blist);
		System.out.println();
		watch(blist);


	}
	public static void watch(ArrayList<Integer> list) {
		//创建一个小的集合
			ArrayList<Integer> slist=new ArrayList<>();
			for(int i=0;i<list.size();i++) {
					int even=list.get(i);
					if(even%2==0) {
						slist.add(even);
					}
				}
			System.out.println(slist);
	}

}

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值