如何在Java 8中返回二维数组?

时间:2018-02-10 16:19:33

标签: java java-8

我有一个返回矩阵的方法,其中row是一对UserMessageData

public static Object[][] getData() {
    DomXmlParsing parse = new DomXmlParsing();
    List<User> users = parse.getUsers();
    List<MessageData> datas = parse.getDataForMessage();
    return new Object[][]{
            {users.get(0), datas.get(0)},
            {users.get(1), datas.get(1)},
            {users.get(2), datas.get(2)},
            {users.get(3), datas.get(3)},
            {users.get(4), datas.get(4)}
    };
}

如何使用Java 8的Stream API返回此矩阵?

1 个答案:

答案 0 :(得分:6)

您可以通过以下方式完成手头的任务:

return IntStream.range(0, users.size())
                .mapToObj(i -> new Object[]{users.get(i), datas.get(i)})
                .toArray(Object[][]::new);