抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

HashMap相关

HashMap

Map

Map中的数据是以键值对( key-value )的形式存储的。
key-value以Entry类型的对象实例存在。
可以通过key值快速地查找value。
一个映射不能包含重复的键。也就是说key的值必须为1,一个value可以对应多个key的值。

HashMap

  1. 基于哈希表的Map接口的实现。是Map的实现类。
    
  2. 允许使用null值和null键。
    
  3. key值不允许重复。
    
  4. HashMap中的Entry对象是无序排列的。 
    

例题1:使用HashMap编写一个字典

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class Map01例题 {
public static void main(String[] args) {
Map<String,String> animal=new HashMap<String,String>();
System.out.println("请输入三组单词对应的注释,并存放到HashMap中");
Scanner console = new Scanner(System.in);
//添加数据
int i = 0;
while(i<3){
System.out.println("请输入key值:");
String key = console.next();
System.out.println("请输入value值:");
String value = console.next();
animal.put(key,value);
i++;
}
System.out.println("=======");
//打印输出value的值(直接使用迭代器)
System.out.println("使用迭代器输出所有value的值:");
Iterator<String> it= animal.values().iterator();
while(it.hasNext()){
System.out.print(it.next()+" ");
}
System.out.println();
System.out.println("=======");
System.out.println("通过entrySet方法得到Key-Value:");
Set<Map.Entry<String,String>> entrySet=animal.entrySet();
for(Map.Entry<String,String> entry:entrySet){
System.out.print(entry.getKey()+"-");
System.out.println(entry.getValue());
}
}

例题2:对字典进行查询

1
2
3
4
5
6
7
8
9
10
11
12
13
14
System.out.println("请输入要查找的(key)");
//使用keySet方法
String strSearch=console.next();

//1.取得keySet
Set<String> keySet=animal.keySet();

//2.遍历KeySet
for(String key:keySet){
if(strSearch.equals(key)){
System.out.println("找到了!键值对的值为:"+key+"-"+animal.get(key));
break;
}
}

评论