我已经在HashMap中存储了一个带有一些变量和ArrayList的对象,我想知道如何在该列表中添加或删除元素。
class Person{
String name;
int age;
ArrayList<String> amigos = new ArrayList<>();
public Person(String name, int age){
this.name = name;
this.age = age;
amigos.add("Ana");
amigos.add("Pedro");}
}
public class TestMap {
public static void main(String[] args){
Map<String, Person> mapa = new HashMap<>();
mapa.put("João", new Person("João", 24));
}
}
我想在此列表中添加另一个人,例如John,但我不知道如何访问该列表。
明确要求我将对象存储在HashMap中,以便无法更改。
答案 0 :(得分:2)
您应该声明变量private
并通过getter / setter访问它们。
class Person {
private String name;
private int age;
private List<String> amigos = new ArrayList<>();
public ArrayList<String> getAmigos () {
return amigos;
}
public void addAmigo(String amigo) {
amigos.add(amigo);
}
}
要使用键访问地图中的Person
mapa.get("João").addAmigo("amigoName");
您还应该考虑使用amigos
List<Person>
代替List<String>
,这取决于您的用例。