如何直接在 Java 中创建/初始化 List<List<String>> 时添加数据值?

问题描述 投票:0回答:1

List> cars = new ArrayList<>();

cars.add(List.of("1", "银", "3000"));

cars.add(List.of("2", "White", "4000"));

cars.add(List.of("3", "黑色", "3000"));

cars.add(List.of("4", "White", "3000"));

cars.add(List.of("5", "蓝色", "5000"));

cars.add(List.of("6", "银牌", "2000"));

如果我需要像这样直接与数据一起创建和初始化List>,如何避免多个“list.add(s)”、多个“List.of”(基本上是多个步骤)?如果我可以用一行代码创建可以吗?

注意:我不是在寻找像 list.add(anotherList) 这样的解决方案。

java list foreach stream java-stream
1个回答
0
投票

如果您想坚持使用核心库,则必须编写自己的方法,或者

List.of(List.of(1, 2), List.of(3, 4))
来制作
List<List<Integer>>

请注意,提供的示例是有问题的。这个:

cars.add(List.of("1", "Silver", "3000"));

不是这样做的;你会这样做:

class Car {
  int id;
  PaintColor color;
  int amountCents;
}

然后从那里开始。用 lombok 的

@Value
让它变得漂亮或使用唱片。

Java 是高度名义化和显式类型的。它是为您使用命名类型来表示事物而设计的,而不是让所有显式类型变成毫无意义的胡言乱语。它可以编译,但很难维护、测试、编写和阅读。

如果做得好,这个问题就不再相关了。如果你“做对了”,列表列表作为常量不会出现很多,并且在少数地方出现,往往有太多数据,你应该将其粘贴在某种文本文件中并使用一个

static {}
块来读取它。

© www.soinside.com 2019 - 2024. All rights reserved.