Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java8中返回二维数组?_Java_Java 8 - Fatal编程技术网

如何在Java8中返回二维数组?

如何在Java8中返回二维数组?,java,java-8,Java,Java 8,我有一个返回矩阵的方法,其中行是一对User和MessageData public static Object[][] getData() { DomXmlParsing parse = new DomXmlParsing(); List<User> users = parse.getUsers(); List<MessageData> datas = parse.getDataForMessage(); return new Object

我有一个返回矩阵的方法,其中行是一对
User
MessageData

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)}
    };
}
publicstaticobject[]getData(){
DomXmlParsing parse=新的DomXmlParsing();
List users=parse.getUsers();
List data=parse.getDataFormMessage();
返回新对象[][]{
{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的流API返回此矩阵?

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

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

IntStream.rangeClosed(0,4).map(i->new Object[]{users.get(i),datas.get(i)}).toArray(Object[]]::new)
还可以看看你是否可以使用Guava,这里有函数。糟糕的问题标题。你应该在标题中提到流。