JAVA练习题(Map双列集合)

本文通过JAVA的Map实现多个功能:根据年份查找世界杯冠军,统计字符串中每个字母出现次数,创建键值对映射,并讨论ArrayList、LinkedList、HashMap的特性和应用场景。详细介绍了ArrayList的扩容机制和HashMap的底层实现原理。
摘要由CSDN通过智能技术生成

1.利用Map,完成下面的功能:
从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。如果该年没有举办世界杯,则输出:没有举办世界杯。
历届世界杯冠军
届数 举办年份 冠军
第一届 1930年 乌拉圭
第二届 1934年 意大利
第三届 1938年 意大利
第四届 1950年 乌拉圭
第五届 1954年 西德
第六届 1958年 巴西
第七届 1962年 巴西
第八届 1966年 英格兰
第九届 1970年 巴西
第十届 1974年 西德
第十一届 1978年 阿根廷
第十二届 1982年 意大利
第十三届 1986年 阿根廷
第十四届 1990年 西德
第十五届 1994年 巴西
第十六届 1998年 法国
第十七届 2002年 巴西
第十八届 2006年 意大利
第十九届 2010年 西班牙
第二十届 2014年 德国
第二十一届 2018年 法国

在原有世界杯Map 的基础上,增加如下功能:
在这里插入图片描述

package com.ffyc.javaoop.day12.HM;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class Demo1 {
   
    public static void main(String[] args) {
   
        Scanner scanner = new Scanner(System.in);
        Map<String,String> map = new HashMap<>();
        map.put("1930", "乌拉圭");
        map.put("1934", "意大利");
        map.put("1938", "意大利");
        map.put("1950", "乌拉圭");
        map.put("1954", "西德");
        map.put("1958", "巴西");
        map.put("1962", "巴西");
        map.put("1966", "英格兰");
        map.put("1970", "巴西");
        map.put("1974", "西德");
        map.put("1978", "阿根廷");
        map.put("1982", "意大利");
        map.put("1986", "阿根廷");
        map.put("1990", "西德")
以下是Java单列集合双列集合的遍历方法: 1. 单列集合的遍历: - 使用迭代器(Iterator)进行遍历: ```java List<String> list = new ArrayList<>(); list.add("小鲁班"); list.add("貂蝉"); list.add("后羿"); list.add("白起"); list.add("亚瑟"); list.add("百里守约"); Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { String name = iterator.next(); System.out.print(name + " "); } // 输出结果:小鲁班 貂蝉 后羿 白起 亚瑟 百里守约 ``` - 使用增强for循环进行遍历: ```java List<String> list = new ArrayList<>(); list.add("小鲁班"); list.add("貂蝉"); list.add("后羿"); list.add("白起"); list.add("亚瑟"); list.add("百里守约"); for (String name : list) { System.out.print(name + " "); } // 输出结果:小鲁班 貂蝉 后羿 白起 亚瑟 百里守约 ``` 2. 双列集合的遍历: - 使用迭代器(Iterator)进行遍历: ```java Map<String, Integer> map = new HashMap<>(); map.put("小鲁班", 1); map.put("貂蝉", 2); map.put("后羿", 3); map.put("白起", 4); map.put("亚瑟", 5); map.put("百里守约", 6); Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<String, Integer> entry = iterator.next(); String name = entry.getKey(); int value = entry.getValue(); System.out.println(name + ": " + value); } // 输出结果: // 小鲁班: 1 // 貂蝉: 2 // 后羿: 3 // 白起: 4 // 亚瑟: 5 // 百里守约: 6 ``` - 使用增强for循环进行遍历: ```java Map<String, Integer> map = new HashMap<>(); map.put("小鲁班", 1); map.put("貂蝉", 2); map.put("后羿", 3); map.put("白起", 4); map.put("亚瑟", 5); map.put("百里守约", 6); for (Map.Entry<String, Integer> entry : map.entrySet()) { String name = entry.getKey(); int value = entry.getValue(); System.out.println(name + ": " + value); } // 输出结果: // 小鲁班: 1 // 貂蝉: 2 // 后羿: 3 // 白起: 4 // 亚瑟: 5 // 百里守约: 6 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值