ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java设计模式之迭代器

2020-09-19 16:31:41  阅读:150  来源: 互联网

标签:Java users iterator System key println 设计模式 迭代 HashMap


学习Demo

 

Java设计模式之迭代器

使用 HashMap 来存储学生信息:键为学生学号,值为姓名

毕业时,需要用户输入学生的学号,并根据学号进行删除操作

 

 

码上行动

 

import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;

/**
 * Java设计模式之迭代器
 * 使用 HashMap 来存储学生信息【键为学生学号,值为姓名】
 * 毕业时,需要用户输入学生的学号,并根据学号进行删除操作
 * @Author Hateyes
 * @Date 2020-07-25 9:25
 */
public class HashMapDemo {

    public static void main(String[] args) {
        HashMap users = new HashMap();
        //HashMap的put方法向Map集合中添加键-值对
        users.put("11", "张浩太");
        users.put("22", "刘思诚");
        users.put("33", "王强文");
        users.put("44", "李国量");
        users.put("55", "王路路");
        System.out.println("******** 学生列表 ********");
        //Java设计模式之迭代器
        Iterator iterator = users.keySet().iterator(); //HashMap的keySet方法返回Map集合中所有键的Set集合
        while (iterator.hasNext()){ //Iterator的hasNext方法检测集合中是否还有元素
            Object key = iterator.next(); //Iterator的next方法返回迭代器的下一个元素,并且更新迭代器的状态
            Object val = users.get(key); //HashMap的get方法返回Map集合中指定键对象所对应的值
            System.out.println("学号:" + key + ",姓名:" + val);
        }
        //Scanner类用来获取用户的输入
        Scanner scanner = new Scanner(System.in); //System.in读取标准输入设备数据,其数据类型为InputStream
        System.out.println("请输入要删除的学号:");
        //Scanner的next方法接收用户的输入
        int num = scanner.nextInt(); //next方法不接受空格和tab键,nextLine方法可接收空格或者tab键
        //HashMap的containsKey方法用于判断Map键中是否包含某个键,String.valueOf 方法将 int 变量 num 转换成字符串
        if (users.containsKey(String.valueOf(num))){ //判断是否包含指定键
            users.remove(String.valueOf(num)); //如果包含就删除
        } else {
            System.out.println("该学生不存在!");
        }
        System.out.println("******** 学生列表 ********");
        iterator = users.keySet().iterator();
        while (iterator.hasNext()){
            Object key = iterator.next();
            Object val = users.get(key);
            System.out.println("学号:" + key + ",姓名:" + val);
        }
    }
}
 

标签:Java,users,iterator,System,key,println,设计模式,迭代,HashMap
来源: https://www.cnblogs.com/ming2/p/13696763.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有