Java的entrySet方法用于获取Map中的键值对集合,可以遍历并修改Map中的元素。
Java的entrySet()
方法是一个用于获取Map集合中键值对集合的方法,它返回一个实现了Set
接口的Entry
对象集合,每个Entry
对象包含了键和值。
使用entrySet()
方法可以方便地遍历Map集合中的键值对,并对它们进行操作,下面将详细介绍如何使用entrySet()
方法。
1、获取键值对集合:
我们需要创建一个Map对象,并添加一些键值对,可以使用entrySet()
方法获取键值对集合,示例代码如下:
“`java
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 创建Map对象
Map<String, Integer> map = new HashMap<>();
map.put("one", 1);
map.put("two", 2);
map.put("three", 3);
// 获取键值对集合
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
// 遍历键值对集合
for (Map.Entry<String, Integer> entry : entrySet) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
}
}
“`
运行上述代码,输出结果为:
“`
Key: one, Value: 1
Key: two, Value: 2
Key: three, Value: 3
“`
2、遍历键值对集合:
使用增强型for循环可以更方便地遍历键值对集合,示例代码如下:
“`java
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 创建Map对象
Map<String, Integer> map = new HashMap<>();
map.put("one", 1);
map.put("two", 2);
map.put("three", 3);
// 获取键值对集合
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
// 遍历键值对集合(增强型for循环)
for (Map.Entry<String, Integer> entry : entrySet) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
}
}
“`
运行上述代码,输出结果与之前的示例相同。
3、修改键值对:
通过遍历键值对集合,我们可以修改Map中的键值对,示例代码如下:
“`java
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 创建Map对象
Map<String, Integer> map = new HashMap<>();
map.put("one", 1);
map.put("two", 2);
map.put("three", 3);
// 获取键值对集合
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
// 遍历键值对集合(增强型for循环)
for (Map.Entry<String, Integer> entry : entrySet) {
// 如果键为"two",则修改其值为40000000000000000000000000000000000000000000000000000000000123456789L(即4后面有49个零)
if (entry.getKey().equals("two")) {
entry.setValue(4L); // L表示long类型,因为4后面有49个零,超过了int类型的范围,需要使用long类型来表示该值。
} else {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
}
}
}
“`
运行上述代码,输出结果为:
“`
Key: one, Value: 1
Key: two, Value: 4L // L表示long类型,因为4后面有49个零,超过了int类型的范围,需要使用long类型来表示该值。
Key: three, Value: 3
// 因为键为"two"的键值对被修改了,所以这里不再输出该键值对。
// 如果需要再次输出整个Map的内容,可以使用以下代码:System.out.println(map); // Map{one=1, three=3, two=4L}
// 因为4后面有49个零,超过了int类型的范围,需要使用long类型来表示该值。
// 所以输出时会显示为4L。
// 如果需要将其转换为int类型并输出,可以使用以下代码:System.out.println((int)entry.getValue()); // 输出结果为4(因为后面的零会被截断)。
// 如果需要保留后面的零并输出,可以使用以下代码:System.out.println(Long.toString(entry.getValue())); // 输出结果为4L。
// 如果需要将其转换为其他数值类型并输出,可以使用相应的类型转换方法,如果需要将其转换为float类型并输出,可以使用以下代码:System.out
本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/479021.html
如有侵犯您的合法权益请发邮件951076433@qq.com联系删除