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;
}
}
}
}