java-- Map
来源:互联网 发布:linux shell编程 pdf 编辑:程序博客网 时间:2024/06/05 03:27
import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import java.util.Scanner;import java.util.Set;public class MapTest { //泛型为<String,Student> public Map<String,Student> students; private Scanner console; public MapTest(){ this.students=new HashMap<String,Student>(); } public void testPut(){ console = new Scanner(System.in); int i=0; while(i<3){ System.out.println("请输入学生ID:"); String ID=console.next(); //get方法得到的是key值 Student st=students.get(ID); if(st==null){ System.out.println("请输入学生姓名:"); String name=console.next(); Student newStudent=new Student(ID,name); //把学生ID作为key值 students.put(ID,newStudent ); System.out.println("成功添加"); i++; }else{ System.out.println("学生ID已被占用,重新输入"); continue; } } } /* * 使用keySet()遍历map集合 */ public void testKeySet(){ //通过keySet方法,返回Map中的key值的Set集合(泛型为:String) Set<String> KeySet=students.keySet(); //遍历keySet,取得每一个键,再调用get方法取得每一个键的value值 Iterator<String> it= KeySet.iterator(); while(it.hasNext()){ String key=it.next(); Student s=students.get(key); System.out.println("学生的ID:"+s.id+"学生的姓名:"+s.name); } System.out.println("总共有学生:"+KeySet.size()); } /* * 使用EntrySet()遍历map集合 */ public void testEntrySet(){ //entrySet()返回的是map中所有的键值对所以Entry也有泛型,和students一样的泛型 Set<Entry<String,Student>> entrySet=students.entrySet(); Iterator<Entry<String, Student>> it=entrySet.iterator(); while(it.hasNext()){ Entry<String,Student> entry= it.next(); String key=entry.getKey(); System.out.println("key值为:"+key); Student value=entry.getValue(); System.out.println("学生ID:"+value.id+" 学生姓名:"+value.name); } } /* * 删除学生 */ public void TestRemove(){ console=new Scanner(System.in); while(true){ System.out.println("请输入要删除的学生ID:"); String ID= console.next(); Student st=students.get(ID); if(st==null){ System.out.println("学生不存在"); } else{ students.remove(ID); System.out.println("学生已删除"); break; } } testKeySet(); } /* * 修改学生信息 */ public void testUpdate(){ console=new Scanner(System.in); while(true){ System.out.println("请输入修改学生的ID:"); String ID=console.next(); Student stu=students.get(ID); if(stu==null){ System.out.println("该学生不存在,请重新输入"); continue; }else{ System.out.println("将要修改的学生姓名:"+stu.name); System.out.println("输入修改后的学生姓名:"); String stuname=console.next(); Student newstu=new Student(stu.id,stuname); students.put(stu.id, newstu); break; } } testKeySet(); } /*map无索引 查询键 查询值 * 是否包含某个学生 */ public void testContains(){ //使用containsKey() 用key值作为判断依据 boolean stu=students.containsKey("1"); if(stu){ Student stu1=students.get("1"); System.out.println(stu1.id+" : "+stu1.name); } //------------------------------------------ //使用containsValue() 用value值作为判断依据 //传入的是学生对象 Student value=new Student(null ,"2"); boolean isname=students.containsValue(value); if(isname){ System.out.println("确实包含学生:"+value.name); }else { System.out.println("不包含学生:"+value.name); } } public static void main(String[] args) { // TODO Auto-generated method stub MapTest map=new MapTest(); map.testPut(); //map.testKeySet(); // map.testEntrySet(); // map.testUpdate(); map.testContains(); }}
Java集合–Collections.sort()里面的学生类和课程类
阅读全文
0 0
- java Map Map.Entry
- 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
- 莫名其妙,网速变得特别慢了
- 分析_JavaScript_中的_“闭包”
- [数据库事务与锁]详解三: 深入分析事务的隔离级别
- 爱测未来开发-Python打包分发工具setuptools, Distutils ,Distutils2, Distribute现状以及简介
- [leetcode 448]Find All Numbers Disappeared in an Array
- java-- Map
- 多个viewpager导致Fragment不显示的问题
- [数据库事务与锁]详解二: 数据库的读现象浅析
- Python数据分析5
- git提交代码到github时出现everything up-to-date,但是代码没有上传成功
- MyBatis中多对多关系的映射和查询
- [数据库事务与锁]详解一: 彻底理解数据库事务
- C语言基础
- ubuntu GIT 安装与使用