Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
从java中的对象数组中检索分配给特定类成员的值数组_Java_Arrays_Class_Object_Member - Fatal编程技术网

从java中的对象数组中检索分配给特定类成员的值数组

从java中的对象数组中检索分配给特定类成员的值数组,java,arrays,class,object,member,Java,Arrays,Class,Object,Member,比方说,我有一个复杂数据类型对象的数组。例如:FullName[100]。每个FullName对象都有两个类成员变量:stringfirstname和stringlastname。现在,从这个FullName对象数组中,我想检索一个stringfirstnames[]数组 如果没有广泛的for-loop应用程序,我怎么能做到这一点呢?您可以尝试查看并应用其中一个库中的map函数。您可以尝试查看并应用其中一个库中的map函数。我不确定为什么避免循环如此重要,但你可以这样做: 您可以将名称存储在字符

比方说,我有一个复杂数据类型对象的数组。例如:
FullName[100]
。每个
FullName
对象都有两个类成员变量:
stringfirstname
stringlastname
。现在,从这个
FullName
对象数组中,我想检索一个
stringfirstnames[]
数组


如果没有广泛的for-loop应用程序,我怎么能做到这一点呢?

您可以尝试查看并应用其中一个库中的
map
函数。

您可以尝试查看并应用其中一个库中的
map
函数。

我不确定为什么避免循环如此重要,但你可以这样做:
您可以将名称存储在字符串数组中,并将Flyweight模式用于FullName类。因此,您的全名实例包含对这些数组的引用,以及指向数组中正确元素的索引。

我不确定为什么避免循环如此重要,但您可以这样做:
您可以将名称存储在字符串数组中,并将Flyweight模式用于FullName类。因此,您的全名实例包含对这些数组的引用,以及指向数组中正确元素的索引。

在Java 8中,您可以执行以下操作:

public class Test {
    class FullName {
        private String firstName;
        String getFirstName(){return firstName;}
    }


    void main(String... argv) {
        FullName names[] = {new FullName()};
        String[] firstNames = Arrays.stream(names).map(FullName::getFirstName).toArray(String[]::new);
    }
}

在Java 8中,您可以执行以下操作:

public class Test {
    class FullName {
        private String firstName;
        String getFirstName(){return firstName;}
    }


    void main(String... argv) {
        FullName names[] = {new FullName()};
        String[] firstNames = Arrays.stream(names).map(FullName::getFirstName).toArray(String[]::new);
    }
}

但在这后面,在语法糖后面有一个循环,对吗?+1:你能得到的最接近的,但它当然只是隐藏了循环。但在这后面,在语法糖后面有一个循环,对吗?+1:你能得到的最接近的,但它当然只是隐藏了循环。基本上:不,你不能。。。总会有一个循环以某种方式在数组中迭代。也许你看不到它,因为一些库在一些聪明的函数调用后面隐藏了它,但它会在那里…好的,谢谢你的评论。基本上:不,你不能。。。总会有一个循环以某种方式在数组中迭代。也许您不会看到它,因为某些库将它隐藏在一些巧妙的函数调用后面,但它会在那里…好的,谢谢您的评论。我只是想知道,但现在,我将接受for循环。:)我只是想知道,但现在,我将与for循环一起生活。:)