java集合练习——题目

2、已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。采用List集合和随机数

  2008 北京奥运会男足参赛国家: 

科特迪瓦,阿根廷,澳大利亚,塞尔维亚,荷兰,尼日利亚、日本,美国,中国,新西 兰,巴西,比利时,韩国,喀麦隆,洪都拉斯,意大利

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

public class FenZu {

    public static void main(String[] args) {
        List<String> qiudui=new ArrayList<>();
        qiudui.add("科特迪瓦");
        qiudui.add("阿根廷");
        qiudui.add("澳大利亚");
        qiudui.add("塞尔维亚");
        qiudui.add("荷兰");
        qiudui.add("尼日利亚");
        qiudui.add("日本");
        qiudui.add("美国");
        qiudui.add("中国");
        qiudui.add("新西兰");
        qiudui.add("巴西");
        qiudui.add("比利时");
        qiudui.add("韩国");
        qiudui.add("喀麦隆");
        qiudui.add("洪都拉斯");
        qiudui.add("意大利");
        Random a=new Random();
        for(int i=0;i<4;i++){
            System.out.print("第"+(i+1)+"组:");
            for(int j=0;j<4;j++){
                String str=qiudui.get(a.nextInt(qiudui.size()));
                System.out.print(str+" ");
                qiudui.remove(str);
            }
            System.out.println();
        }

    }

}

3、 有如下Student 对象,

    private String name;  

    private int age;  

    private int score;  

private String classNum; 

其中,classNum 表示学生的班号,例如“class05”。 有如下List 

List list = new ArrayList(); 

list.add(new Student(“Tom”, 18, 100, “class05”));  

list.add(new Student(“Jerry”, 22, 70, “class04”)); 

list.add(new Student(“Owen”, 25, 90, “class05”)); 

list.add(new Student(“Jim”, 30,80 , “class05”)); 

list.add(new Student(“Steve”, 28, 66, “class06”));

 list.add(new Student(“Kevin”, 24, 100, “class04”)); 

在这个list 的基础上,完成下列要求: 

1) 计算所有学生的平均年龄

2) 计算各个班级的平均分 

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

public class Student {
    private String name;
    private int age;
    private int score;
    private String classNum;
    Student(String name, int age, int score, String classNum){
        this.name=name;
        this.age=age;
        this.score=score;
        this.classNum=classNum;
    }
    public static void main(String[] args){
        List<Student> list=new ArrayList<>();
        list.add(new Student("Tom",18,100,"class05"));
        list.add(new Student("Jerry",22,70,"class04"));
        list.add(new Student("Owen",25,90,"class05"));
        list.add(new Student("Steve",30,80,"class05"));
        list.add(new Student("Kevin",28,66,"class06"));
        list.add(new Student("Tom",18,100,"class05"));
        int sum=0;
        int sumscore=0;
        for(Student stu:list){
            sum+=stu.age;
            sumscore+=stu.score;
        }
        System.out.println("平均年龄是:"+sum/list.size());
        System.out.println("平均分是:"+sumscore/list.size());
    }
}

5、Map)设计Account 对象如下:

    private long id;  

    private double balance;  

    private String password;

要求完善设计,使得该Account 对象能够自动分配id。 给定一个List 如下:

 List list = new ArrayList(); 

list.add(new Account(10.00, “1234”)); 

list.add(new Account(15.00, “5678”)); 

list.add(new Account(0, “1010”)); 

要求把List 中的内容放到一个Map 中,该Map 的键为id,值为相应的Account 对象。 最后遍历这个Map,打印所有Account 对象的id 和余额。

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

public class Account1 {
    private long id;
    private double balance;
    private String password;
    List<Long> idjihe=new ArrayList<>();
    Account1(double balance,String password){
        this.balance=balance;
        this.password=password;
        Random a=new Random();    
        boolean s=true;
        while(s){
            id=a.nextLong();
            if(id>0){
                this.id=id;
                s=false;
            }    
        }    
    }
    public long getId() {
        return id;
    }
    public void setId(long id) {
        this.id=id;
    }
    public double getBalance() {
        return balance;
    }
    public void setBalance(double balance) {
        this.balance = balance;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    
}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class TestAccount {

    public static void main(String[] args) {
        List<Account1> list=new ArrayList<>();
        list.add(new Account1(10.00,"1234"));
        list.add(new Account1(15.00,"5678"));
        list.add(new Account1(0,"1010"));
        Map<Long,Account1> map=new HashMap<>();
        for(Account1 temp:list){
            map.put(temp.getId(), temp);
        }
        for(Long id:map.keySet()){
            System.out.println("ID="+id+" 余额为:"+map.get(id).getBalance());
        }
    }
}

 

posted @ 2016-09-28 21:31  荆小八  阅读(1133)  评论(0编辑  收藏  举报