HashMap
代码如下:
遍历方法主要有三种:
- lambda法 (推荐)
- keySet法 (这里的set元素是k)
- entrySet法 (其中注意这里的Set的元素是Entry<k,v>类)
package 测试;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class HashMapDemo
{
public static void main(
String[] args)
{
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "1");
map.put(2, "2");
map.put(3, "3");
map.put(1, "4");/* 将会覆盖key等于1的k-v对 */
/* 注意map的forEach的lam表达式需要两个参数 */
/**
* 推荐lam表达式扫描HashMap
*/
map.forEach((a1,a2) -> {
System.out.println(a1+":"+a2);
});
System.out.println("-----------------分割线-------------------");
Set<Integer> keySet = map.keySet();
/* 可以使用for循环遍历set集合 */
for (Integer integer : keySet)
{
System.out.println(map.get(integer));
}
System.out.println("-----------------分割线-------------------");
/* 当然lam更方便 */
keySet.forEach((a1) -> { System.out.println(map.get(a1)); });
System.out.println("-----------------分割线-------------------");
/* 还有一种是Entry */
Set<Entry<Integer,String>> entrySet = map.entrySet(); /* 注意set里面的元素是一种Entry类 */
for (Entry<Integer, String> entry : entrySet)
{
System.out.println(entry.getKey()+":"+ entry.getValue());
}
}
}
输出为:
1:4
2:2
3:3
-----------------分割线-------------------
4
2
3
-----------------分割线-------------------
4
2
3
-----------------分割线-------------------
1:4
2:2
3:3