第一题 (Map)利用Map,完成下面的功能:

从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。如果该 年没有举办世界杯,则输出:没有举办世界杯。

附:世界杯冠军以及对应的夺冠年份,请参考本章附录。 附录

  1. 历届世界杯冠军

届数

举办年份

举办地点

冠军

第一届

1930年

乌拉圭

乌拉圭

第二届

1934年

意大利

意大利

第三届

1938年

法国

意大利

第四届

1950年

巴西

乌拉圭

第五届

1954年

瑞士

西德

第六届

1958年

瑞典

巴西

第七届

1962年

智利

巴西

第八届

1966年

英格兰

英格兰

第九届

1970年

墨西哥

巴西

第十届

1974年

前西德

西德

第十一届

1978年

阿根廷

阿根廷

第十二届

1982年

西班牙

意大利

第十三届

1986年

墨西哥

阿根廷

第十四届

1990年

意大利

西德

第十五届

1994年

美国

巴西

第十六届

1998年

法国

法国

第十七届

2002年

韩日

巴西

第十八届

2006年

德国

意大利

第十九届

2010年

南非

西班牙

第二十届

2014年

巴西

德国

(Map)在原有世界杯Map 的基础上,增加如下功能: 读入一支球队的名字,输出该球队夺冠的年份列表。 例如,读入“巴西”,应当输出 1958 1962 1970 1994 2002 读入“荷兰”,应当输出 没有获得过世界杯

package zuoye集合;import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;public class Map_zuqiu {public static void main(String[] args) {Map<String, String> ma = new HashMap<String, String>();ma.put("1930", "乌拉圭");ma.put("1934", "意大利");ma.put("1938", "意大利");ma.put("1950", "乌拉圭");ma.put("1954", "西德");ma.put("1958", "巴西");ma.put("1962", "巴西");ma.put("1966", "英格兰");ma.put("1970", "巴西");ma.put("1974", "西德");ma.put("1978", "阿根廷");ma.put("1982", "意大利");ma.put("1986", "阿根廷");ma.put("1990", "西德");ma.put("1994", "巴西");ma.put("1998", "法国");ma.put("2002", "巴西");ma.put("2006", "意大利");ma.put("2010", "西班牙");ma.put("2014", "德国");System.out.println("请输入年份");Scanner sc = new Scanner(System.in);String a = sc.nextLine();if (ma.containsKey(a) == false) {System.out.println("该年没有举办奥运会");} else {System.out.println("冠军队是:  " + ma.get(a));}Scanner sc1 = new Scanner(System.in);System.out.println("请输入夺冠的球队");String str1 = sc1.nextLine();if (ma.containsValue(str1) == false) //通过判断输入的球队是否存在{System.out.println(str1 + "队没有获得过冠军");} else {System.out.println(str1 + "队的夺冠年份是:");//遍历//通过遍历key的set集合,同时获取valuefor (String k : ma.keySet()){if (ma.get(k).equals(str1)){System.out.print(" " + k);}}}}}

  

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

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

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

package zuoye集合;import java.util.ArrayList;
import java.util.List;
import java.util.Random;public class List_suiji
{public static void main(String[] args) {// TODO 自动生成的方法存根List <String>  ls= new ArrayList<>();//实例化//添加ls.add("科特迪瓦");ls.add("阿根廷");ls.add("澳大利亚");ls.add("塞尔维亚");ls.add("荷兰");ls.add("尼日利亚");ls.add("日本");ls.add("美国");ls.add("中国");ls.add("新西兰");ls.add("巴西");ls.add("比利时");ls.add("韩国");ls.add("喀麦隆");ls.add("洪都拉斯");ls.add("意大利");Random r=new Random();//随机for (int i = 0; i < 4; i++) {System.out.println("第" + (i + 1) + "组是:");for (int j = 0; j < 4; j++) {String str;str = ls.get(r.nextInt(ls.size()));System.out.print(str + " ");}System.out.println("\n");}}}

  

第三题 有如下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) 计算各个班级的平均分

package zuoye集合;public class Students
{//属性private String name ;private int age ;private int score ;private String classNum ;public Students(String name, int age, int score , String classNum ){this.age= age ;this.classNum = classNum ;this.name = name ;this.score = score ;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getScore() {return score;}public void setScore(int score) {this.score = score;}public String getClassNum() {return classNum;}public void setClassNum(String classNum) {this.classNum = classNum;}}

  

package zuoye集合;import java.util.ArrayList;
import java.util.List;public class A
{public static void main(String[] args) {// TODO 自动生成的方法存根List <Students> list = new ArrayList<>() ;list.add(new Students("Tom", 18 ,100 , "class05" )) ;list.add(new Students("jerry", 22 ,70 , "class04" )) ;list.add(new Students("Owen", 25 ,90 , "class05" )) ;list.add(new Students("Jim", 30 ,80 , "class05" )) ;list.add(new Students("Steve", 28 ,66 , "class06" )) ;list.add(new Students("Kevin", 24 ,100 , "class04" )) ;double  sum = 0 ;for(int i = 0 ; i<list.size();i++){//总成绩sum += list.get(i).getAge();}System.out.println("平均年龄为:" + sum/list.size());int sum4 = 0 ;int j4 = 0 ;int sum5 = 0 ;int j5 = 0 ;int sum6 = 0 ;int j6 = 0 ;//遍历//foreachfor(Students x  : list){//判断班级if(x.getClassNum().equals("class05") ){sum5 +=x.getScore( ) ;    ++ j5  ;}if(x.getClassNum().equals("class04") ){sum4 +=x.getScore( ) ;    ++ j4  ;}if(x.getClassNum().equals("class06") ){sum6 +=x.getScore( ) ;    ++ j6  ;}}System.out.println("class05的平均成绩:"+sum5/j5);System.out.println("class04的平均成绩:"+sum4/j4);System.out.println("class06的平均成绩:"+sum6/j6);}}

  

第四题 (List)写一个函数reverseList,该函数能够接受一个List,然后把该List 倒序排列。 例如:

List list = new ArrayList();

list.add(“Hello”);

list.add(“World”);

list.add(“Learn”); //此时list 为Hello World Learn

reverseList(list); //调用reverseList 方法之后,list 为Learn World Hello

package zuoye集合;import java.util.ArrayList;
import java.util.List;public class Daoxu
{public void reverseList(List<String> list){List<String> list1 = new ArrayList<>();for(int i =list.size()-1;i>=0;i--){    list1.add(list.get(i));}list= list1;System.out.println("list= "+list);}}

  

package zuoye集合;import java.util.ArrayList;
import java.util.List;public class B {public static void main(String[] args) {// TODO 自动生成的方法存根List<String> list = new ArrayList<>();list.add("Hello");list.add("World");list.add("Learn");System.out.println("list="+list);Daoxu dx = new Daoxu();System.out.println("倒序排列后:");//反向dx.reverseList(list);}}

  

转载于:https://www.cnblogs.com/liuyanzeng/p/5914080.html

集合相关题目0927相关推荐

  1. 【LeetCode】重复元素相关题目

    [LeetCode]重复元素相关题目 文章目录 [LeetCode]重复元素相关题目 存在重复元素★ 存在重复元素 II★ 存在重复元素 III★★ 重复 N 次的元素★ 寻找重复数★★ 存在重复元素 ...

  2. 数据结构——栈与队列相关题目

    数据结构--栈与队列相关题目 232. 用栈实现队列 思路 225. 用队列实现栈 1.两个队列实现栈 2.一个队列实现栈 20. 有效的括号 思路 1047. 删除字符串中的所有相邻重复项 思路 1 ...

  3. [LeetCode]704.二分查找及相关题目

    数组理论基础 数组理论 数组是存放在连续内存空间上的相同类型数据的集合 数组可以方便的通过下标索引的方式获取到下标下对应的数据 二维数组在内存的空间地址是连续的 二分查找 LeetCode 704.二 ...

  4. STL源码学习----集合相关算法

    STL一共提供了四种与集合相关的算法,分别是并集(union), 交集(intersection),差集(difference),对称差集(symmetric difference). 这四种集合算法 ...

  5. 散列表相关题目(线性探测再散列法)

    散列表相关题目(线性探测再散列法) 一.题目 将关键字序列(7.8.30.11.18.9.14)散列存储到散列表中.散列表的存储空间是一个下标从0开始的一维数组,散列函数为H(key)=(key×3) ...

  6. 后退返回命令数量_Redis | Redis 有序集合相关命令

    Redis 支持多种数据结构,比如 字符串.列表.集合.有序集合 和 哈希 等数据结构.本次我整理了关于 有序集合 相关的命令,也就是关于 Sorted Sets 相关的命令,如下图. 上图中用红色圈 ...

  7. 面试必考的网络协议相关题目应该如何回答

    转载自  面试必考的网络协议相关题目应该如何回答 最近,正处于校招季.很多小伙伴已经拿到了如愿以偿的Offer,有些小伙伴还在努力着. 平常,也会有一些粉丝会在公众号留言,或者在微信上问我一些面试题. ...

  8. python函数控制词典_Python 基础之集合相关操作与函数和字典相关函数

    一:集合相关操作与相关函数 1.集合相关操作(交叉并补) (1)intersection() 交集 set1 = {"one","two","thre ...

  9. python教程400集笔记,Python学习中的笔记--集合相关,python笔记--集合

    Python学习中的笔记--集合相关,python笔记--集合 集合的基本操作 一.可修改的集合set 创建集合 var = set() var = {'a','b','c','d'} 成员检测 va ...

最新文章

  1. php通用检测函数集合
  2. 还在网上找Demo?这个Java项目真香!
  3. linkedlist java 实现_Java LinkedList 实现原理
  4. 电子计算机电缆用引流线,本质安全防爆电路用仪表计算机电缆
  5. vuex中mutations数据响应
  6. 机器学习实战系列(七):数值回归与预测
  7. tomcat遇到jre\lib\ext\localedata.pack 时出错
  8. 16.UNIX 环境高级编程--网络IPC:套接字
  9. 遇见,那一份最美的眷恋
  10. GPT磁盘及ID号介绍
  11. 【微机原理与接口技术】学习笔记5 I/O接口和并行接口芯片8255A
  12. 银行卡在ATM机器上插入后显示IC磁条芯片卡拒绝交易解决办法
  13. sa387gr11cl2是什么材料,sa387gr11cl2美标钢板性能介绍
  14. python数据分析项目实战波士顿房价预测——手写梯度下降法
  15. 一个使用python和TUShare进行股票分析的例子
  16. ubuntu上的音频分析工具
  17. 高超音速技术行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  18. (附源码)SSM兴澜幼儿园管理系统JAVA计算机毕业设计项目
  19. Keil运行密钥(pojie)软件运行时,exe程序无法运行/被删除/防火墙警告的解决方法
  20. 苹果云服务器满,管理 iCloud 储存空间

热门文章

  1. Android BaseQuickAdapter万能适配器
  2. 物尽其用,数码相机兼职摄像头!
  3. 基于FPGA 的TF卡 UHS-I 方式存储
  4. 根据需求设计并实现数据库
  5. Android最完整的仿QQ表情聊天图文展示代码示例
  6. 数据分析面试——如何分析产品日活下降原因
  7. 大数据研发能力模型(面试准备)
  8. 11届蓝桥杯青少年组C++全国赛高级组
  9. HDMI 收发器简化家庭影院系统设计
  10. 在github上下载的.md文件怎么打开