簡體   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