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

Rom*_*kyi 3 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)}
    };
}
Run Code Online (Sandbox Code Playgroud)

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

Ous*_* D. 6

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

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