immutablemap.of
时间: 2024-01-10 16:04:02 浏览: 41
`ImmutableMap.of`是谷歌公司的Guava库中的一个静态方法,用于创建不可变的键值对映射。它接收任意数量的键值对参数,然后返回一个不可修改的键值对映射。例如,`ImmutableMap<String, Integer> scores = ImmutableMap.of("Alice", 42, "Bob", 73, "Charlie", 57);`将创建一个包含三个键值对的不可变映射,其中"Alice"映射到42,"Bob"映射到73,"Charlie"映射到57。由于这是不可变的,无法添加、删除或修改映射中的任何键或值。
相关问题
ImmutableMap.
ImmutableMap是Google Guava库中的一个不可变的Map实现,它的特点是在创建后不能被修改,也就是说其中的键值对都是不可变的。ImmutableMap实现了Map接口,提供了与标准Map相同的功能,包括获取、遍历、查询、删除等操作。ImmutableMap的创建方式有多种,包括如下几种:
1. 使用of()方法创建:
```java
ImmutableMap<String, Integer> map = ImmutableMap.of("a", 1, "b", 2, "c", 3);
```
2. 使用Builder创建:
```java
ImmutableMap<String, Integer> map = new ImmutableMap.Builder<String, Integer>()
.put("a", 1)
.put("b", 2)
.put("c", 3)
.build();
```
3. 使用copyOf方法创建:
```java
Map<String, Integer> tempMap = new HashMap<>();
tempMap.put("a", 1);
tempMap.put("b", 2);
tempMap.put("c", 3);
ImmutableMap<String, Integer> map = ImmutableMap.copyOf(tempMap);
```
ImmutableMap的不可变性使得它在多线程环境下非常安全,因为它不需要加锁来保证线程安全。同时,由于不可变性,ImmutableMap也可以作为常量来使用,防止在程序运行中被修改。
com.google.common.collect.ImmutableMap.of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap;、
这是Google Guava库中的一个方法,用于创建一个不可变的Map对象。它接受键值对作为参数,并返回一个ImmutableMap对象。例如,以下代码将创建一个包含三个键值对的不可变Map对象:
```
ImmutableMap<String, Integer> map = ImmutableMap.of("key1", 1, "key2", 2, "key3", 3);
```
这个方法的参数数量最多可以到12个,如果需要添加更多的键值对,可以使用ImmutableMap.Builder类来构建Map对象。不可变的Map对象在多线程环境下是安全的,并且不能被修改。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)