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());
        }
    }
}

时间: 2025-01-07 10:40:44

java集合练习——题目的相关文章

Java—集合框架List

集合的概念 现实生活中:很多的事物凑在一起 数学中的集合:具有共同属性的事物的总和 Java中的集合类:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象 集合的作用 在类的内部,对数据进行组织(针对作用与意义一样的属性,将他们放到一个集合中) 简单而快速的搜索大数量的条目 有的集合接口,提供了一系列排列有序的元素,并且可以在序列中快速的插入或删除有关元素 有的集合接口,提供了映射关系,可以通过关键字(key)去快速查找到对应的唯一对象,而这个关键字可以是任意类型 与数组相比 数组的长度

Java 集合

在Java Collections Framework中,不同类型的集合使用不同类型的数据结构以不同的方式存储它们的元素. 集合框架提供了遍历集合的以下方法: 使用迭代器 使用for-each循环 使用forEach()方法 使用迭代器 迭代器可以对集合执行以下三个操作: 检查是否有尚未访问的元素. hasNext() 检查是否有下一个访问的元素. next() 删除集合的最后访问元素. remove() 例子1 使用迭代器打印列表的所有元素: import java.util.ArrayLis

《深入理解Java集合框架》系列文章

Introduction 关于C++标准模板库(Standard Template Library, STL)的书籍和资料有很多,关于Java集合框架(Java Collections Framework, JCF)的资料却很少,甚至很难找到一本专门介绍它的书籍,这给Java学习者们带来不小的麻烦.我深深的不解其中的原因.虽然JCF设计参考了STL,但其定位不是Java版的STL,而是要实现一个精简紧凑的容器框架,对STL的介绍自然不能替代对JCF的介绍. 本系列文章主要从数据结构和算法层面分析

Java集合相关面试问题和答案

Java集合相关面试问题和答案 面试试题 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector.Stack.HashTable和Array.随着集合的广泛使用,Java1.2提出了囊括所有集合接口.实现和算法的集合框架.在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久.它还包括在Java并发包中,阻塞接口以及它们的实现.集合框架的部分优点如下: (1)使用核心集合类降低开发成本,而非实现我们自己的集合类.

Java集合

JAVA集合小结   有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否 否 HashSet TreeSet 是(用二叉树排序) Map AbstractMap 否 使用key-value来映射和存储数据,Key必须惟一,value可以重复 HashMap TreeMap 是(用二叉树排序) 几个面试常见问题:1.Q:ArrayList和Vector有什么区别?HashMap和HashTable有什么区别?   A:Vector和HashT

一大波Java来袭(五)——Java集合概述

把"Java集合"比作是容器,可以把多个对象(实际:是对象的引用),扔在容器中. JDK1.5之前,被丢进集合中的对象,会丢失起数据类型.默认为Object类型 JDK1.5之后,不会丢失数据类型,因为引入了"泛型"(作为下文重点) 本文将结合数据结构,重点讲述Java的4种集合体系的功能和用法,并给出不同应用场景改如何选择? 一.同样是用于"存储数据",既可以使用"数组",有可以使用"集合",有什么区别吗

Java集合总览

这篇文章总结了所有的Java集合(Collection).主要介绍各个集合的特性和用途,以及在不同的集合类型之间转换的方式. Arrays Array是Java特有的数组.在你知道所要处理数据元素个数的情况下非常好用.java.util.Arrays 包含了许多处理数据的实用方法: Arrays.asList:可以从 Array 转换成 List.可以作为其他集合类型构造器的参数. Arrays.binarySearch:在一个已排序的或者其中一段中快速查找. Arrays.copyOf:如果你

【Java集合源码剖析】HashMap源码剖析

转载请注明出处:http://blog.csdn.net/ns_code/article/details/36034955 HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长. HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap. HashMap 实现了Serializable接口,因此它支持序列化,

JAVA集合框架

收藏 查看我的收藏 146有用+1 56 编辑 Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称.用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台.动态的Web.Internet计算.从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet.集合框架是为表示和操作集合而规定的一种统一的标准的体系结构.任何集合框架都包含三大块内容:对外的接口.接口的实