Java 9提供了工厂方法来创建不可变的列表,集合和映射。它可以用于创建空的或非空的集合对象。在Java 8和之前的版本中,我们可以使用集合类的实用方法,如unmodifiableXXX来创建不可变的集合对象。如果我们需要创建一个不可变的列表,那么可以使用Collections.unmodifiableList()方法。
这些工厂方法允许我们轻松初始化不可变的集合,无论它们是空的还是非空的。
不可变列表的初始化:
List immutableEmptyList = List.of();
登录后复制
在上面的代码中,我们初始化了一个空的不可变的List。
初始化不可变的集合:
Set immutableEmptySet = Set.of();
登录后复制
在上面的代码中,我们初始化了一个空的不可变的Set。
初始化不可变的map:
Map immutableEmptyMap = Map.of();
登录后复制
In the above, we have initialized an empty, immutable Map.
Example
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class ImmutableCollectionTest {
public static void main(String args[]) {
List list8 = new ArrayList();
list8.add("INDIA");
list8.add("AUSTRALIA");
list8.add("ENGLAND");
list8.add("NEWZEALAND");
List immutableList8 = Collections.unmodifiableList(list8);
immutableList8.forEach(System.out::println);
System.out.println();
List immutableList = List.of("INDIA", "AUSTRALIA", "ENGLAND", "NEWZEALAND");
immutableList.forEach(System.out::println);
System.out.println();
Set immutableSet = Set.of("INDIA", "AUSTRALIA", "ENGLAND", "NEWZEALAND");
immutableSet.forEach(System.out::println);
System.out.println();
Map immutableMap = Map.of("INDIA", "India", "AUSTRALIA", "Australia", "ENGLAND", "England", "NEWZEALAND", "Newzealand");
immutableMap.forEach((key, value) -> System.out.println(key + " : " + value));
System.out.println();
}
}
登录后复制
输出
INDIA
AUSTRALIA
ENGLAND
NEWZEALAND
INDIA
AUSTRALIA
ENGLAND
NEWZEALAND
AUSTRALIA
ENGLAND
NEWZEALAND
INDIA
AUSTRALIA : Australia
ENGLAND : England
NEWZEALAND : Newzealand
INDIA : India
登录后复制
以上就是在Java 9中如何初始化不可变集合?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!