哈希表
特点:
- 哈希表是散列的,一定情况下“键值对”顺序会不一致。
- 哈希表在内存中是一张表格(两列:一列是:键,一列是:值)
Map是映射的意思;和视图一样
Map集合的特点:每个元素是由两个对象组成的
Map的格式:
Map<键,值> 名字 = new HashMap<键,值>();
Map中两个键值得属性都是非基本的属性,根据问题的要求来
哈希表中的函数:
- 添加键和值 map.put(键,值);
- 删除键值:map.remov(键);
- 获取某个键值:map.get(键);【需要打印出来】
- 获取键(key)的方式:map.keyset();
哈希表如何遍历(只需要获得键 值)
1.需要将访问的键保存到key里面
2.将key所映射的值打印出来
for(String key:map.keyset()){
System.out.println(map.get(key));
}
Map集合的遍历:
方案一:
使用Map接口的keyset函数得到键的集合,对该集合进行遍历
方案二
使用Map结构的entryset函数得到键值对的几个,对该集合进行遍历
package Day13;
import java.util.Map;
import java.util.Scanner;
public class Dl {
public static void main(String[] args) {
Map<String,String> users=new java.util.HashMap<String,String>();
users.put("jft", "123456");
users.put("zx", "123");
Scanner sc=new Scanner(System.in);
System.out.print("请输入账号:");
String x=sc.next();
System.out.print("请输入密码:");
String y=sc.next();
if(users.get(x)==null) {
System.out.println("账号不存在,登录失败");
}else if(users.get(x).equals(y)==false) {
System.out.println("密码错误,登录失败");
}else {
System.out.println("登录成功");
}
}
}
登录测试
1.先创建哈希表,进行导入。 登录和密码都是字符串格式
2.添加两个账号密码,进行保存
3.添加if判断语句,通过get函数获取用户输入的账号
4.通过equals函数匹配账号相应的密码,判断正确