为了账号安全,请及时绑定邮箱和手机立即绑定

使用第一个元素和附加集合初始化列表

使用第一个元素和附加集合初始化列表

智慧大石 2023-09-20 17:11:33
有没有一种速记方法(可能是番石榴或任何库)来初始化这样的Java列表?List list = MagicListUtil.newArrayList(firstElement, moreElementsList);
查看完整描述

3 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

番石榴提供了多种可能性

如果您有数组,请使用Lists.asList(...)

String first = "first";
String[] rest = { "second", "third" };
List<String> list = Lists.asList(first, rest);

如果您有列表或其他Iterables,请使用FluentIterable.of(...).append(...).toList()

String first = "first";
List<String> rest = Arrays.asList("second", "third");
List<String> list = FluentIterable.of(first).append(rest).toList();

但你也可以在 Java 8 中做到这一点

尽管它更加冗长,但仍然......

用数组

String first = "first";
String[] rest = { "second", "third" };
List<String> list = Stream.concat(Stream.of(first), Arrays.stream(rest))
  .collect(Collectors.toList());

带有收藏

String first = "first";
List<String> rest = Arrays.asList("second", "third");
List<String> list = Stream.concat(Stream.of(first), rest.stream())
  .collect(Collectors.toList());


查看完整回答
反对 回复 2023-09-20
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

如果你想复制列表,你可以通过这样的构造函数来完成

List<Float> oldList = new ArrayList<>();
List<Float> newList = new ArrayList<>(oldList);


查看完整回答
反对 回复 2023-09-20
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

是的,您可以简单地将 java.util.Arrays 类用于单个和多个元素。

List<String> strings = Arrays.asList("first", "second", "third");

您可以将 java.util.Collections 用于具有单个元素的列表。

List<String> strings = Collections.singletonList("first");


查看完整回答
反对 回复 2023-09-20
  • 3 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信