Java集合之-Map集合
来源:互联网 发布:知党章党规,系列讲话 编辑:程序博客网 时间:2024/05/21 05:06
通过以下实例来体验Map的具体用法:
- 通过Map
创建一个Student类
public class Student{ public String id; public String name; public Set<Course> courses;//Set之前测试用到,这里没有用到 public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Student(String id, String name) { this.id = id; this.name = name; courses=new HashSet<Course>(); }}
创建一个MapTest测试类
import java.util.HashMap;import java.util.Map;import java.util.Scanner;import java.util.Set;/** * Created by Administrator on 2017/4/1/001. */public class MapTest{ public Map<String,Student> mStudentMap; public Scanner mScanner; public MapTest() { //初始化Map对象 this.mStudentMap=new HashMap<String,Student>(); mScanner=new Scanner(System.in); } public static void main(String[]args) { MapTest mapTest=new MapTest(); mapTest.testPut(); mapTest.testKeySet(); mapTest.testRemove(); mapTest.testEntrySet(); mapTest.testModefy(); mapTest.testEntrySet(); } /* * 测试添加方法 * */ public void testPut() { int i=0; while(i<3) { System.out.println("请输入学生ID:"); String ID=mScanner.next(); Student st=mStudentMap.get(ID); if(st==null) { //提示输入学生姓名 System.out.println("请输入学生姓名:"); String name=mScanner.next(); //创建新的学生对象 Student newStudent=new Student(ID,name); //放入HashMap中 mStudentMap.put(ID,newStudent); System.out.println("成功添加学生:"+mStudentMap.get(ID).getName()); i++; }else { System.out.println("该学生ID已被占用"); continue;//继续执行循环 } } } /* * 测试Map的keySet方法,返回的是 * Map中的所有“键”的Set集合 * * */ public void testKeySet() { //通过keySet方法,返回Map中的所有“键”的Set集合 Set<String> keySet=mStudentMap.keySet(); for (String stuId:keySet ) { //通过每个键获得对应的value值 Student st=mStudentMap.get(stuId); //判断对象是否为空 if(st!=null) { System.out.println("学生:"+st.getName()); } } } /* * 测试删除Map中的映射 * * */ public void testRemove() { while (true) { System.out.println("请输入待删除的学生ID:"); String id=mScanner.next(); Student st=mStudentMap.get(id); if(st==null) { System.out.println("该ID不存在"); continue; } mStudentMap.remove(id); System.out.println("成功删除学生:"+st.name); break; } } /* * 通过entrySet方法来遍历Map * * */ public void testEntrySet() { //通过entrySet方法,返回Map中的所有键值对 Set<Map.Entry<String,Student>> entrySet=mStudentMap.entrySet(); for(Map.Entry<String,Student> entry:entrySet) { System.out.println("取得键:"+entry.getKey()); System.out.println("对应的值为:"+entry.getValue().getName()); } } /* * 测试修改方法 * * */ public void testModefy() { //提示输入要修改的学生ID System.out.println("请输入要修改的学生ID:"); while (true) { String stuID=mScanner.next(); //从mStudentMap中查找该学生ID对应的学生对象 Student st=mStudentMap.get(stuID); if(st==null) { System.out.println("该ID不存在!重新输入"); continue; } //提示当前对象对应的学生对象的姓名 System.out.println("当前该学生ID,所对应的学生为:"+st.getName()); //提示输入新的学生姓名,来修改已有的映射 System.out.println("请输入新的学生姓名:"); String name=mScanner.next(); Student student=new Student(stuID,name); mStudentMap.put(stuID,student); System.out.println("修改成功!"); break; } }}
0 0
- Java集合之-Map集合
- java之Map集合
- Java集合之Map
- Java集合之Map
- Java集合之Map
- Java集合之Map
- JAVA 集合之MAP
- java集合之Map
- java 集合之Map
- Java集合之Map
- Java集合之Map
- Java集合之Map
- Java集合之Map
- java集合之Map
- java集合之Map
- Java集合之Map
- Java集合之Map
- Java-集合之Map
- C/C++函数指针和函数指针数组用法
- 2017蓝桥杯模拟赛 Problem B: 猜算式(11分)
- 2015年第六届蓝桥杯C/C++程序设计本科B组省赛 牌型种数(结果填空)
- 《自控力》要点总结
- tortoiseSVN使用遇到的问题
- Java集合之-Map集合
- 内核线程和用户线程
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 中文维基语料训练获取
- 136-基于 UDP 协议的通信
- 安装gensim
- Python学习笔记(6)——列表、元组、字典
- 浅析Android四大组件之一:ContentProvider 内容提供者 源码
- Android studio 插件 ADB WIFI