繁体   English   中英

如何从HashMap内部的对象访问ArrayList? JAVA

[英]How to acess an ArrayList from an Object inside a HashMap? JAVA

我在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中,因此不能更改。

您应该将变量声明为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> ,这取决于您的用例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM