Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List - Fatal编程技术网

用java创建子列表的捷径

用java创建子列表的捷径,java,list,Java,List,从其他列表创建子列表是否有较短的方法? 例如: 我有一个联系人对象,该对象包含字符串地址字段 public List<String> getAdreses(long personID) { List<String> adreses=null; for(Contact mail : getContacts(personID)){ adreses.add(mail.getMail()); }

从其他列表创建子列表是否有较短的方法? 例如: 我有一个
联系人
对象,该对象包含
字符串
地址字段

public List<String> getAdreses(long personID) {
        List<String> adreses=null;
        for(Contact mail : getContacts(personID)){
            adreses.add(mail.getMail());
        }
        return adreses;
    }
公共列表getAddresses(长人名){
列表地址=空;
用于(联系人邮件:getContacts(personID)){
add(mail.getMail());
}
返回地址;
}
试试Java:

List address=getContacts(personID).stream().map(Contact::getMail).collect(Collectors.toList())
试试Java:

List address=getContacts(personID).stream().map(Contact::getMail).collect(Collectors.toList())

可能与@smoke重复,您的代码将无法正常运行。。。您已初始化地址列表,如。。。ListAddresses=null;稍后您将向其中添加元素,如:adreses.add(mail.getMail());但是您还没有初始化地址,比如:List addres=new ArrayList();它将抛出NullPointerException…可能是@smoke的副本,您的代码将不会按原样运行。。。您已初始化地址列表,如。。。ListAddresses=null;稍后您将向其中添加元素,如:adreses.add(mail.getMail());但是您还没有初始化地址,比如:List addres=new ArrayList();它将抛出NullPointerException…好的,但如何设置值?其中:.map(Contact::getMail)@smok,
.map(Contact::getMail)
等于
.map(Contact->Contact.getMail())
,它会将邮件收集到
列表中,您不需要设置值。好的,但如何设置值?其中:.map(Contact::getMail)@smok,
.map(Contact::getMail)
等于
.map(Contact->Contact.getMail())
,它将邮件收集到
列表中,您不需要设置值。
List<String> adreses = getContacts(personID).stream().map(Contact::getMail).collect(Collectors.toList())