1、创建测试类(TestMap2.java)
package com.jeff;
import java.util.HashMap;
import java.util.Map;
public class TestMap2 {
public static void main(String[] args) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("str", "Jeff");
map.put("int", Integer.MAX_VALUE);
map.put("long", Long.MAX_VALUE);
map.put("u", new User("Jeff", "123456"));
// 1、entrySet遍历,在键和值都需要时使用(最常用)
System.out.println("==========entrySet遍历==========");
for (Map.Entry<String, Object> entry : map.entrySet()) {
System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
}
// 2、遍历map中的键
System.out.println("==========遍历map中的键==========");
for (String key : map.keySet()) {
System.out.println("key = " + key);
}
// 3、遍历map中的值
System.out.println("==========遍历map中的值==========");
for (Object value : map.values()) {
System.out.println("value = " + value);
}
// 4、java8提供了Lambda表达式支持,语法看起来更简洁,可以同时拿到key和value,
System.out.println("==========java8 Lambda==========");
map.forEach((key, value) -> {
System.out.println("key = " + key + ", value = " + value);
});
}
}
class User {
private String userName;
private String password;
public User(String userName, String password) {
super();
this.userName = userName;
this.password = password;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [userName=" + userName + ", password=" + password + "]";
}
}
2、控制台输出结果