如何从另一个列表和单独的项目创建不可变列表?

时间:2018-08-04 15:50:16

标签: java collections

我得到一个列表,我想添加一个与列表具有相同类型的元素

List<String> list = List.of("a", "b", "c");
String item = "d";

我想从他们两个创建一个不可变的列表

List<String> combined = List.of(list.toArray(new String[0]), item);

以上内容当然不会编译,因为它正在查看2参数重载,其中一个参数是String [],另一个参数是String,并且想要创建一个大小为2的列表。我想要的是使用varargs签名,因此可以将项目以某种方式组合到数组中或“分解”数组,然后结果将与单个参数“合并”。

我尝试了什么?

List<String> arraylist = new ArrayList<>(list);
arraylist.add(item);
List<String> combined = List.copyOf(arraylist);

这是非常低效的。我可以做得更好吗?

0 个答案:

没有答案