java怎么创建不可变的map_Java中如何实现不可变Map详解
时间: 2024-03-07 22:49:47 浏览: 321
在Java中创建不可变的Map有多种方法,以下是其中的两种常见方式:
1. 使用Collections.unmodifiableMap()方法
这种方法是在创建Map对象后,通过调用Collections.unmodifiableMap()方法将其转换为不可变的Map。这个方法返回的是一个不可修改的Map视图,对其进行修改操作会抛出UnsupportedOperationException异常。
示例代码:
```
Map<String, String> mutableMap = new HashMap<>();
mutableMap.put("key1", "value1");
mutableMap.put("key2", "value2");
Map<String, String> immutableMap = Collections.unmodifiableMap(mutableMap);
```
2. 使用Guava库中的ImmutableMap类
Guava是Google开发的一个Java工具库,其中的ImmutableMap类可以用来创建不可变的Map对象。这个类提供了多种创建Map的方法,如of()、copyOf()等。
示例代码:
```
Map<String, String> immutableMap = ImmutableMap.of("key1", "value1", "key2", "value2");
```
无论哪种方法创建的不可变Map,都可以安全地在多个线程间共享,因为它们是不可变的。
阅读全文