Jeden klucz w HashMap przejmuje wartości innych kluczy.

0

Hej,

Dlaczego wartość wszystkich list jest dodawana do pierwszego klucza?

        ArrayList<String> endingsAr = new ArrayList<>();
		endingsAr.add("o");
		endingsAr.add("as");
		endingsAr.add("a");
		endingsAr.add("amos");
		endingsAr.add("áis");
		endingsAr.add("an");

		ArrayList<String> endingsEr = new ArrayList<>();
		endingsAr.add("o");
		endingsAr.add("es");
		endingsAr.add("e");
		endingsAr.add("emos");
		endingsAr.add("éis");
		endingsAr.add("en");

		ArrayList<String> endingsIr = new ArrayList<>();
		endingsAr.add("o");
		endingsAr.add("es");
		endingsAr.add("e");
		endingsAr.add("imos");
		endingsAr.add("ís");
		endingsAr.add("en");

		HashMap<String, ArrayList<String>> endings = new HashMap<>();

		endings.put("ar", endingsAr);
		endings.put("er", endingsEr);
		endings.put("ir", endingsIr);

		System.out.println(endings.get("ar"));
		System.out.println(endings.get("er"));
		System.out.println(endings.get("ir"));

Wychodzi:

[o, as, a, amos, áis, an, o, es, e, emos, éis, en, o, es, e, imos, ís, en]
[]
[]

Pozdrawiam

1

Bo wszystkie wartości wrzucasz do jednej tylko listy endingsAr.
Mapa jest dobra.
Tak się objawia zabawa w mutowanie.

0

Hej,

Faktycznie, nierozgarnięty jestem.
Dzięki za odpowiedź.

Pozdro

1 użytkowników online, w tym zalogowanych: 0, gości: 1