Java 9工厂方法Java 9 Collection库包括用于List、Set和Map接口的静态工厂方法。这些方法对于创建小数量的集合非常有用。 假设,如果我们想要创建一个包含5个元素的列表,我们需要编写以下代码。
Java列表示例
输出:
Java JavaFX Spring Hibernate JSP
在上面的代码中,调用了add方法反复对于每个列表元素,而在Java 9中,我们可以使用工厂方法在一行代码中完成。
工厂收集方法工厂方法是用于创建的特殊类型的静态方法无法改变的情况下的集合。这意味着我们可以使用这些方法来创建少量元素的列表、集合和映射。 它是不可修改的,所以添加新元素会抛出java.lang.UnsupportedOperationException 每个接口都有自己的工厂方法,我们在下面的表格中列出了所有的方法。
列表接口的工厂方法
修饰符 |
方法 |
描述 |
static List |
的() |
它返回一个包含0个元素的不可变列表。 |
static List |
(E e1) |
它返回一个包含一个元素的不可变列表。 |
static List |
(E……元素) |
它返回一个包含任意数量元素的不可变列表。 |
static List |
的(E e1, E e2) |
它返回一个包含两个元素的不可变列表。 |
static List |
(E e1, E e2, E e3) |
它返回一个包含三个元素的不可变列表。 |
static List |
(E e1, E e2, E e3, E e4) |
它返回一个包含四个元素的不可变列表。 |
static List |
(ee1, ee2, ee3, e4, e5) |
它返回一个包含五个元素的不可变列表。 |
static List |
(ee1, ee2, ee3, e4, e5, e6) |
它返回一个包含6个元素的不可变列表。 |
static List |
(ee1, ee2, ee3, e4, e5, e6, e7) |
它返回一个包含7个元素的不可变列表。 |
static List |
(ee1, ee2, ee3, e4, e5, e6, e7, e8) |
它返回一个包含8个元素的不可变列表。 |
static List |
(ee1, ee2, ee3, e4, e5, e6, e7, e8, e9) |
它返回一个包含9个元素的不可变列表。 |
static List |
(ee1, ee2, ee3, e4, e5, e6, e7, e8, e9, e10) |
它返回一个包含10个元素的不可变列表。 |
Java 9列表工厂方法示例在Java 9中,我们可以用各种简单的方式来编写这些代码List.of()工厂方法。
输出:
Java JavaFX Spring Hibernate JSP
Java 9设置接口Java集接口提供了一个Set.of()静态工厂方法用于创建不可变集。通过这种方法创建的set实例具有以下特征。
- 它是不可变的
- 没有空元素
- 如果所有元素都是可序列化的,那么它就是可序列化的。
- 没有重复的元素。
- 集合元素的迭代顺序是未指定的,可能会发生变化。
Java 9设置接口工厂方法下表包含Set接口的工厂方法。
修饰符和类型 |
方法 |
描述 |
static Set |
的() |
它返回一个包含0个元素的不可变集合。 |
static Set |
(E e1) |
它返回一个包含一个元素的不可变集合。 |
static Set |
(E……元素) |
它返回一个包含任意数量元素的不可变集合。 |
static Set |
的(E e1, E e2) |
它返回一个包含两个元素的不可变集合。 |
static Set |
(E e1, E e2, E e3) |
它返回一个包含三个元素的不可变集合。 |
static Set |
(E e1, E e2, E e3, E e4) |
它返回一个包含四个元素的不可变集合。 |
static Set |
(ee1, ee2, ee3, e4, e5) |
它返回一个包含五个元素的不可变集合。 |
static Set |
它返回一个包含6个元素的不可变集合。 |
static Set |
(ee1, ee2, ee3, e4, e5, e6, e7) |
它返回一个包含7个元素的不可变集合。 |
static Set |
(ee1, ee2, ee3, e4, e5, e6, e7, e8) |
它返回一个包含8个元素的不可变集合。 |
static Set |
(ee1, ee2, ee3, e4, e5, e6, e7, e8, e9) |
它返回一个包含9个元素的不可变集合。 |
static Set |
(ee1, ee2, ee3, e4, e5, e6, e7, e8, e9, e10) |
它返回一个包含10个元素的不可变集合。 |
Java 9设置接口工厂方法示例
输出:
Spring JavaFX JSP Java Hibernate
Java 9映射接口工厂方法在Java 9中,Map包括Map.of()和Map. ofentries()静态工厂方法,它们提供了创建不可变映射的方便方法。 这些方法创建的映射具有以下特征。
- 它是不可变的
- 它不允许空键和值
- 如果所有键和值都是可序列化的,那么它就是可序列化的
- 它在创建时拒绝重复的键
- 映射的迭代顺序未指定,可能会发生变化。
Java 9映射接口工厂方法下表包含Map接口的工厂方法。
修饰符和类型 |
方法 |
描述 |
static Map |
的() |
它返回一个包含零映射的不可变映射。 |
static Map |
(kk1, vv1) |
它返回一个包含单个映射的不可变映射。 |
static Map |
(K k1, V v1, K k2, V v2) |
它返回一个包含两个映射的不可变映射。 |
static Map |
(K k1, V v1, K k2, V v2, K k3, V v3) |
它返回一个包含三个映射的不可变映射。 |
static Map |
(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4) |
它返回一个包含四个映射的不可变映射。 |
static Map |
(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5) |
它返回一个包含五个映射的不可变映射。 |
static Map |
(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6) |
它返回一个包含六个映射的不可变映射。 |
static Map |
(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7) |
它返回一个包含7个映射的不可变映射。 |
static Map |
(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8) |
它返回一个包含8个映射的不可变映射。 |
static Map |
(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9) |
它返回一个包含9个映射的不可变映射。 |
static Map |
(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9, K k10, V v10) |
它返回一个包含10个映射的不可变映射。 |
static Map |
ofEntries (map . entry < ?扩展了K, ?扩展了V >…条目) |
它返回一个包含从给定条目提取的键和值的不可变映射。 |
Java 9映射接口工厂方法示例
输出:
102 Hibernate 103 Spring MVC 101 JavaFX
Java 9 Map Interface ofEntries()方法示例在Java 9中,除了静态Map.of ()方法,Map接口还包括一个静态方法Map.ofEntries ().的映射地图。条目实例。 在下面的例子中,我们将在多个map的帮助下创建map实例。条目实例。
输出:
|