Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.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 获取现有ArrayList并从getter向其添加值_Java_Arraylist - Fatal编程技术网

Java 获取现有ArrayList并从getter向其添加值

Java 获取现有ArrayList并从getter向其添加值,java,arraylist,Java,Arraylist,所以我想知道如何才能从ArrayList中获取当前值并向其添加值 private List<String> friends; public Profile(List<String> friends){ this.friends = friends } public List<String> getFriends() { return friends; } public void addFriend(List<String> f

所以我想知道如何才能从ArrayList中获取当前值并向其添加值

 private List<String> friends;

public Profile(List<String> friends){
  this.friends = friends
 }

public List<String> getFriends() {
    return friends;
}

public void addFriend(List<String> friends) {
   this.friends = getFriends() + friends;
}
私人好友列表;
公开资料(列出朋友){
这是我的朋友
}
公共列表getFriends(){
回报朋友;
}
public void addFriend(列出好友){
this.friends=getFriends()+friends;
}
显然,“addFriend”方法无法工作,因为运算符不能应用于ArrayList。它被认为是它应该如何工作的一个例子。抓取getFriends()方法并对其应用另一个列表。那么,有没有办法完成这项任务呢?抓取getter数组列表并向其添加值


注意:已经假设数据存储在hashmap中的某个位置,其中包含一个键和一个值作为列表

为什么不迭代并添加到
朋友
字段?它已经是一个列表了

public void addFriend(List<String> friends) {
    for (String friend : friends) {
        this.friends.add(friend);
    }
}
public void addFriend(列出好友){
用于(字符串朋友:朋友){
this.friends.add(friends);
}
}
您可以使用以下功能:

public void addFriend(List<String> friends) {
   this.friends.addAll(friends);
}
public void addFriend(列出好友){
this.friends.addAll(friends);
}

您可以使用
ArrayList.addAll(集合c)
方法:

public void addFriend(List<String> friends) {
   this.friends.addAll(friends);
}
public void addFriend(列出好友){
this.friends.addAll(friends);
}

您可以创建两种不同的方法:

通过这种方式,您可以将朋友列表添加到当前列表中

public void addFriend(List<String> friends) {
   this.friends.addAll(friends);
}

使用这种方法,您将有两种不同的添加朋友的行为。

所有这些答案都会起作用,我还可以添加一个我自己的解决方案

public void addFriend(List<String> friends) {
     this.friends.addAll(friends.stream().collect(Collectors.toList()));
}
public void addFriend(列出好友){
this.friends.addAll(friends.stream().collect(Collectors.toList());
}

唯一的缺点是您正在创建不必要的对象,这只会降低计算机速度,并使用更多资源(如内存)。
add
方法和
addAll
方法更具可读性,更有效地利用资源。因此,您希望重新发明
Collection 35; addAll
;P
public void addFriend(List<String> friends) {
     this.friends.addAll(friends.stream().collect(Collectors.toList()));
}