【问题标题】:Is there an equivalent to Python's List Comprehension in Java是否有相当于 Python 的 Java 中的 List Comprehension
【发布时间】:2020-11-26 03:14:11
【问题描述】:

我有一个名为 MyObject 的 Java 类,我想在一行中实例化一个包含 50 个非空 MyObject 元素的 ArrayList/数组

所以在 Python 中会是这样的:

_list = [MyObject() for i in range(50)]

非常感谢任何想法。

【问题讨论】:

  • IntStream.range(0, 50).mapToObj(i -> new MyObject()).collect(toList()).
  • Stream.generate(MyObject::new).limit(50).collect(toList()).
  • List<MyObject> list = new ArrayList<>(); for (int i = 0; i < 50; ++i) list.add(new MyObject()); (这是一行...单行被高估了。)
  • @AndyTurner 觉得你应该把这两个变成一个答案,这样它就可以被标记为正确的一个:)

标签: java


【解决方案1】:

普通数组的解决方案可能如下所示(虽然不是单行):

MyObject[] arr = new MyObject[50];
Arrays.setAll(arr, index -> new MyObject());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2019-10-18
    • 2019-04-24
    • 1970-01-01
    • 2019-11-29
    • 2017-01-11
    • 1970-01-01
    相关资源
    最近更新 更多