我是靠谱客的博主 单身白云,最近开发中收集的这篇文章主要介绍java map 输入 查询 修改_通过Map对数据进行增删改查,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Map专门用来处理键值映射数据的存储。

常用方法:

1.put(Object key,Object value)  添加一对键值

2.get(Object key)  根据键返回相关的值,如果不存在指定的键,则返回空值。

3.remove(Object key)   删除由指定的键映射的键值对

4.size()  返回元素个数

5.keySet()  返回键的集合

6.value()  返回值得集合

7.containsKey(Object key)   如果存在由指定的键映射的键值对,返回true。

实现代码:

建立学生对象:

package imooc;

import java.util.HashSet;

import java.util.Set;

//学生类

public class Student {

public String id;

public String name;

public Set courses;

public Student(String id,String name){

this.id=id;

this.name=name;

this.courses =new HashSet();

}增删改查:

package imooc;

import java.util.HashMap;

import java.util.Map;

import java.util.Map.Entry;

import java.util.Scanner;

import java.util.Set;

public class mapTest {

//用来盛装学生类型的对象

public Map student;

//在构造器中初始化student属性

public mapTest(){

student=new HashMap();

}

//测试添加,从键盘输入学生id,判断是否占用,并输出提示。把学生添加到studnet属性中。

public void testPut(){

Scanner input=new Scanner(System.in);

for(int i=0;i<3;){

System.out.println("输入学生id");

String ID=input.next();

Student stuid=student.get(ID);

if(stuid==null){

System.out.println("请输入学生姓名");

String name=input.next();

//创建一个新的学生对象

Student newStudent=new Student(ID,name);

student.put(ID, newStudent);

System.out.println("成功添加学生:"+student.get(ID).name);

i++;

}else{

System.out.println("该学生ID已存在");

}

continue;

}

}

//测试Map的keySet方法

public void testKeyset(){

//keySet方法,返回Map中的所有key的Set集合。

Set keyset=student.keySet();

//取得student的容量

System.out.println("总共有"+student.size()+"名学生");

//遍历keyet,取得每一个键 值,通过get方法取得value值。

for(String id:keyset){

Student st=student.get(id);

if(st!=null){

System.out.println(st.id+" "+st.name);

}

}

}

//测试删除

public void testRemove(){

Scanner input=new Scanner(System.in);

while(true){

System.out.println("请输入要删除学生的ID");

String ID=input.next();

Student st=student.get(ID);

if(st==null){

System.out.println("该ID不存在");

continue;

}

student.remove(ID);

System.out.println("成功删除学生:"+st.name);

break;

}

}

//通过entrySet方法遍历Map

public void testentrySet(){

//通过entrySet方法,返回Map中的所有键值对

Set> entrySet=student.entrySet();

for(Entry entry:entrySet ){

System.out.println("取得键"+entry.getKey()+" "+"取得值"+entry.getValue().name);

}

}

//测试修改

public void xiugai(){

Scanner input=new Scanner(System.in);

while(true){

System.out.println("请输入需要修改的学生的ID");

String ID=input.next();

Student st=student.get(ID);

if(st==null){

System.out.println("该ID不存在");

continue;

}

System.out.println("当前所要修改的ID对应的学生:"+st.name);

System.out.println("请输入学生姓名:");

String name=input.next();

Student newstu=new Student(ID,name);

student.put(ID,newstu );

System.out.println("修改成功");

break;

}

}

//测试Map中是否包含某个key或value

public void testMapContains(){

System.out.println("输入要查询的学生ID:");

Scanner input=new Scanner(System.in);

String id=input.next();

System.out.println("学生映射表中是否包含键"+id+" "+student.containsKey(id)+

"对应的学生为"+student.get(id).name);

System.out.println("输入要查找的学生名字:");

String name=input.next();

System.out.println("学生映射表中是否存在学生"+name+" "+

student.containsValue(new Student(null,name)));

}

public static void main(String[] args) {

mapTest it=new mapTest();

it.testPut();

it.testKeyset();

//it.testRemove();

//1it.xiugai();

//it.testentrySet();

it.testMapContains();

}

}

最后

以上就是单身白云为你收集整理的java map 输入 查询 修改_通过Map对数据进行增删改查的全部内容,希望文章能够帮你解决java map 输入 查询 修改_通过Map对数据进行增删改查所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部