(集合六)Map接口(HashMap)示例

Map接口方法:

                 ①void clear():从此映射中移除所有映射关系

                 ②boolean containKey(Object Key):判断此映射是否包含指定键的映射关系,若有返回true

                 ③boolean containValue(Object value):判断此映射是否包含指定键的映射到一个或多个指定值,若有返回true

                 ④V put(K key,V value):向散列表对象中放入指定键值对(如果key在map中出现过,那么就会覆盖原来的key-value)

                 ⑤V get(Object key):返回指定键所映射的值,如果此映射不包含该键映射关系,返回null

                 ⑥V remove(Object key):如果存在一个键的映射关系,则移除对应映射,返回value

                 ⑦boolean remove(Object key,Object value):如果存在一个键的映射关系,则移除对应映射,返回true,不存在返回false

                 例一:

                           import java.util.HashMap;
                           import java.util.Map;
                           public class TestMap1 {
                               public static void main(String[] args) {
                                   Map<String,String> map=new HashMap<String,String>();
                                   map.put("张三","98");
                                   map.put("李四","100");    
                                   System.out.println(map);//输出结果:{李四=100, 张三=98}
                                   map.put("张三","60");
                                   System.out.println(map.size());//输出结果:2
                                   System.out.println(map);//输出结果:{李四=100, 张三=60}
                                   map.put(null,"10");
                                   System.out.println(map);//输出结果:{null=10, 李四=100, 张三=60}
                                   map.put(null,"20");
                                   System.out.println(map);//输出结果:{null=20, 李四=100, 张三=60}
                                   System.out.println(map.containsKey(null));//输出结果:true
                                   map.clear();
                                   System.out.println(map);//输出结果:{}
                               }
                           }

                 例二:

                           import java.util.HashMap;
                           import java.util.Map;
                           public class TestMpa2 {
                               public static void main(String[] args) {
                                   Map<String,Double> map=new HashMap<String,Double>();
                                   map.put("小王",10.0);
                                   map.put("小马",100.0);
                                   map.put("小张",20.0);
                                   System.out.println(map);//输出结果:{小马=100.0, 小王=10.0, 小张=20.0}
                                   System.out.println(map.remove("小王"));//输出结果:10.0
                                   System.out.println(map.remove("小刘"));//输出结果:null
                                   System.out.println(map.remove("小张",300.0));//输出结果:false
                                   System.out.println(map);//输出结果:{小马=100.0, 小张=20.0}
                               }
                           }

                 测试:编写一个服务器Server类

                           自定义Server类:

                           import java.util.HashMap;
                           import java.util.Map;
                           import java.util.Map.Entry;
                           import java.util.Set;
                           public class Server {
                               private Map<String,String> users;
                               public Server() {
                                   users=new HashMap<String,String>();
                               }
                               public boolean login(String user,String pwd) {
                                   if(!users.containsKey(user)) {
                                       System.out.println("用户名不存在");
                                       return false;
                                   }
                                   String pass=users.get(user);
                                   if(pass.equals(pwd)) {
                                       System.out.println("登录成功");
                                       return true;
                                   }else {
                                       System.out.println("密码错误");
                                       return false;
                                   }
                               }
                               public boolean register(String user,String pwd) {
                                   if(user==null||user.trim().length()==0) {
                                        System.out.println("用户名不能为空");
                                        return false;
                                    }
                                    if(users.containsKey(user)) {
                                        System.out.println("用户名已存在");
                                        return false;
                                    }
                                    users.put(user,pwd);
                                   return true;
                               }
                           }

                           测试类:

                           import java.util.Scanner;
                           public class TestServer {
                               public static void main(String[] args) {
                                   Server dnf=new Server();
                                   while(true) {
                                       System.out.println("1.登录 2.注册 0.退出");
                                       Scanner sc=new Scanner(System.in);
                                       int i=sc.nextInt();
                                       switch(i) {
                                       case 0:
                                           System.exit(0);
                                       case 1:
                                           System.out.println("请输入用户名");
                                           String user=sc.next();
                                           System.out.println("请输入密码");
                                           String pwd=sc.next();
                                           if(dnf.login(user,pwd)) {
                                               System.out.println("登录成功");
                                           }else {
                                               System.out.println("登录失败,请重新登录");
                                           }
                                           break;
                                       case 2:
                                           System.out.println("请输入用户名");
                                           String user1=sc.next();
                                           System.out.println("请输入密码");
                                           String pwd1=sc.next();
                                           if(dnf.register(user1, pwd1)) {
                                               System.out.println("注册成功");
                                           }else {
                                               System.out.println("注册失败,请检查信息");
                                           }
                                           break;
                                       }
                                   }
                               }
                           }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值