📜  Java中 of() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:16:19.281000             🧑  作者: Mango

Java中of()方法及示例

在Java中,of()方法是一种静态工厂方法,用于创建不可变的集合和Map。它存在于Java 9及更高版本中的List、Set、Map和Stream接口中。

使用of()方法创建List

以下是使用of()方法创建不可变List的示例:

List<String> fruits = List.of("apple", "banana", "orange");
System.out.println(fruits);

输出:

[apple, banana, orange]

可以看出,of()方法创建的List是不可变的,不能进行add、remove等操作,若试图这样做则会抛出UnsupportedOperationException异常。

使用of()方法创建Set

以下是使用of()方法创建不可变Set的示例:

Set<String> cities = Set.of("London", "Paris", "Madrid");
System.out.println(cities);

输出:

[London, Madrid, Paris]

可以看出,of()方法创建的Set也是不可变的,同样不能进行add、remove等操作。

使用of()方法创建Map

以下是使用of()方法创建不可变Map的示例:

Map<String, Integer> scores = Map.of("Alice", 82, "Bob", 90, "Charlie", 75);
System.out.println(scores);

输出:

{Alice=82, Bob=90, Charlie=75}

注意,of()方法创建的Map只能包含键值对数目为1、2、3、4、5、6,若试图创建超过6个键值对的Map,则需要使用ofEntries()方法或手动创建Map。

使用of()方法创建Stream

以下是使用of()方法创建Stream的示例:

Stream<String> stream = Stream.of("Java", "Python", "C++");
stream.forEach(System.out::println);

输出:

Java
Python
C++

注意,与List、Set、Map不同,of()方法创建的Stream是可变的,可以进行filter、map等操作。但是,建议在不需要改变Stream元素的值时使用of()方法创建Stream,这样可以节省内存。

总结

of()方法是Java集合和Stream API中的一种静态工厂方法,可以用于创建不可变的集合和Map以及可变的Stream。使用of()方法可以简化代码、提高代码可读性,并且避免了手动创建不可变集合和Map的麻烦。