Map.ofEntries
时间: 2023-06-22 09:33:16 浏览: 63
`Map.ofEntries` 是 Java 9 中引入的一个静态工厂方法,用于创建不可变的 Map。它接受一个或多个 `Map.Entry` 参数,并返回一个键值对不可变的 Map,该 Map 的键值对按照它们在参数列表中的顺序排列。例如,以下代码创建了一个包含两个键值对的不可变 Map:
```
Map<String, Integer> map = Map.ofEntries(
Map.entry("A", 1),
Map.entry("B", 2)
);
```
其中 `"A"` 和 `"B"` 是键,`1` 和 `2` 是值。返回的 Map 的键值对的顺序是 `"A"` 和 `1`,然后是 `"B"` 和 `2`。注意,由于该 Map 是不可变的,因此无法通过 put 或其他方法添加、删除或更改其键值对。
相关问题
map接口中 ofentries方法
ofEntries方法是Java 8中新增的一个静态方法,它可以通过一组键值对创建一个Map对象。ofEntries方法接收一个可变参数,参数类型为Map.Entry,Map.Entry是一个表示键值对的接口。ofEntries方法会将这些键值对封装成一个Map对象并返回。以下是ofEntries方法的示例代码:
Map<String, Integer> map = Map.ofEntries(
Map.entry("apple", 1),
Map.entry("banana", 2),
Map.entry("orange", 3)
);
这段代码会创建一个包含三个键值对的Map对象,键分别为"apple"、"banana"和"orange",值分别为1、2和3。
map.ofentriesf用法
map.ofentriesf 是一个 Java 9 中的新方法,用于创建一个 Map 对象,其键和值由传入的参数决定。它的用法如下:
1. 导入 java.util.Map 和 java.util.stream.Collectors 包。
2. 定义一个 Map 对象,使用 Map.ofEntriesF() 方法创建:
```
import java.util.Map;
import java.util.stream.Collectors;
Map<Integer, String> map = Map.ofEntriesF(
Map.entry(1, "One"),
Map.entry(2, "Two"),
Map.entry(3, "Three")
);
```
上面的代码创建了一个具有三个键值对的 Map 对象,键为整数,值为字符串。
3. 如果需要创建一个具有更多键值对的 Map 对象,可以传入更多的 Map.entry() 参数:
```
Map<Integer, String> map = Map.ofEntriesF(
Map.entry(1, "One"),
Map.entry(2, "Two"),
Map.entry(3, "Three"),
Map.entry(4, "Four"),
Map.entry(5, "Five")
);
```
上面的代码创建了一个具有五个键值对的 Map 对象。
4. 如果需要创建一个具有重复键的 Map 对象,可以使用 Map.entry() 方法创建一个键值对列表,然后将其转换为 Map 对象:
```
import java.util.List;
List<Map.Entry<Integer, String>> entries = List.of(
Map.entry(1, "One"),
Map.entry(2, "Two"),
Map.entry(3, "Three"),
Map.entry(1, "Uno") // 重复键
);
Map<Integer, String> map = entries.stream()
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
System.out.println(map); // {1=Uno, 2=Two, 3=Three}
```
上面的代码创建了一个具有三个键值对的 Map 对象,其中键为 1 的值被覆盖为 "Uno"。
总之,map.ofentriesf 方法可以很方便地创建一个具有指定键值对的 Map 对象。