HashMap的基本方法
1.HashMap的基本方法有
添加Key-Value
通过HashMap.put(key,value);方法添加
@Test
public void HashMapDemo() {
Map<String, String> hashMap = new HashMap<String, String>();
// 通过put方法添加键值对
hashMap.put("google","google");
hashMap.put("baidu","baidu");
hashMap.put("baidu","baidu1");
hashMap.put("baidu","baidu2");
}
上面通过put方法添加了一个google,和三个baidu,但这里有隐藏的问题.请往下看(高手就不要浪费时间了)
接下来通过get方法获取刚刚储存的键值对.
通过key获取Value
HashMap.get(key);
// 用get方法通过key获取vlaue
System.out.println(hashMap.get("google"));
System.out.println(hashMap.get("baidu"));
可以看到,输出的baidu并不是我们put进去的三个结果,而只有一个baidu2,就是我们最后一次put进去的key,value
这涉及到了HashMap的键值重复问题.此处不做深论(主要是我也不知道,狗头)
基本可以理解成重写相同的key
删除方法
HashMap.remove();
// 删除方法
hashMap.remove("baidu");
清空整个HashMap方法
// 清空整个hashMap
hashMap.clear();
遍历HashMap
想要遍历这个HashMap其实我知道的有3种方法.我们只说一种常用的,通常来说常用的写法简单但是性能没有其余两种高.差距大约在2倍左右(万条数据操作时间上的差距),不过都是ms级别的.
HashMap.Entry<Object,Object> 获取HashMap的全部Key-Value,返回一个Set集合代码如下:
hashMap.put("sougou", "sougou");
hashMap.put("zhihu", "sougou");
hashMap.put("QQ", "QQ");
hashMap.put("QQ", "QQ111");
// 获取到的hashMap数据存放到Set集合中
Set<Map.Entry<String, String>> entrySet = hashMap.entrySet();
// 遍历Set集合
for (Map.Entry<String, String> e : entrySet) {
System.out.println(e.getKey()+"/t"+e.getValue());
}
需要说明的是
Map.Entry<Object,Object>
Entry是Map的内部类,不知道内部类的去简单了解下叭~
遍历方法运行结果如下:
以下是本文章中全部代码:
package com.example.hashmapdemo.test;
import org.junit.Test;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class HashMapTestDemo {
@Test
public void HashMapDemo() {
Map<String, String> hashMap = new HashMap<String, String>();
// 通过put方法添加一个键值对
hashMap.put("google", "google");
hashMap.put("baidu", "baidu");
hashMap.put("baidu", "baidu1");
hashMap.put("baidu", "baidu2");
// 用get方法通过key获取vlaue
System.out.println(hashMap.get("google"));
System.out.println(hashMap.get("baidu"));
// 删除方法
hashMap.remove("baidu");
// 清空整个hashMap
// hashMap.clear();
hashMap.put("sougou", "sougou");
hashMap.put("zhihu", "sougou");
hashMap.put("QQ", "QQ");
hashMap.put("QQ", "QQ111");
// 获取到的hashMap数据存放到Set集合中
Set<Map.Entry<String, String>> entrySet = hashMap.entrySet();
// 遍历Set集合
for (Map.Entry<String, String> e : entrySet) {
System.out.println(e.getKey()+"/t"+e.getValue());
}
}
}