2013-05-23 16 views
7

Programuję moją pierwszą aplikację i próbuję utworzyć mapę, która będzie przechowywać pewne informacje.Wstawianie wartości na mapie < K, V >

Używam ECLIPSE i ciągle otrzymuję ten sam błąd, ale mam Googled (faktycznie DuckDuckGo-ed) i szukam w StackOverflow i nie mogę znaleźć błędu ... Więc rozpaczliwie tu przybyłem.

Biblioteki są importowane poprawnie (ponieważ ADT to robi) i zgaduję, że dokumentacja Oracle jest w porządku, więc ... dlaczego to nie działa?

Mam na myśli, że żadna z tych metod nie działa w celu wstawienia pary Klucz-wartość do mapy.

enter image description here

Interesującą częścią przychodzi, gdy patrząc na błędy.

Pierwszy z nich mówi Syntax error on token ",", { expected after this token
Drugi mówi Syntax error, insert "}" to complete ClassBody

zaczynam się trochę zdesperowany, nie mogłem uczynić kod prostsze! Dziękuję bardzo!

+4

Potrzebujesz swojego kodu wewnątrz jakiejś metody. –

Odpowiedz

37

Istnieją tu dwie kwestie. Najpierw musisz umieścić to w metodzie, a po drugie, nie możesz użyć składni []; musisz użyć Map.put.

public class Data { 
    public static void main(String[] args) { 
     Map<String, String> data = new HashMap<String, String>(); 
     data.put("John", "Taxi Driver"); 
     data.put("Mark", "Professional Killer"); 
    } 
} 
+0

Dziękujemy! Nie wiedziałem, że musi to być metoda. Próbowałem wszystkich innych rzeczy poza tym (ponieważ nie miałem pojęcia). Przykro mi, jeśli to było zbyt łatwe, zbyt proste pytanie, ale idę tylko do StackOverflow, kiedy jestem zdesperowany. Jeszcze raz dziękuję – Nico

2

Składnia jest

data.put("John","Taxi driver"); 
+0

Tak, ale to też nie działa. I dlatego próbowałem składni "[]". Dzięki! – Nico

2

Spróbuj kod

HashMap<String, String> map = new HashMap<String, String>(); 
map.put("EmpID", EmpID); 
map.put("UnChecked", "1"); 
3

Dwa błędy w kodzie są bardzo różne.

Pierwszy problem polega na tym, że inicjalizujesz i zapełniasz swoją Map w ciele klasy bez instrukcji. Możesz mieć statyczną instrukcję Map i w treści klasy lub zainicjować i wypełnić mapę w metodzie lub w konstruktorze klasy.

Drugim problemem jest to, że nie można traktować Map składniowo jak array, więc stwierdzenie data["John"] = "Taxi Driver"; należy zastąpić data.put("John", "Taxi Driver"). Jeśli masz już klucz "John" w swoim HashMap, jego wartość zostanie zastąpiona przez "Taxi Driver".

Powiązane problemy