Wyłuskanie klucza z mapy

0

Witam, mam mapę typu <Char, Int> i chcę wyłuskać z niej te chary. Próbowałem iteratorem.

Iterator it = this.dictionary.entrySet().iterator();
		
		while(it.hasNext()) {
			Map.Entry pairs = (Map.Entry)it.next();
			char c = pairs.getKey();
			//if(this.probabilityMap.get(pairs.getKey()) == null)
			//	this.probabilityMap.put(pairs.getKey(), 10.2);
			it.remove(); //unikniecie jakiegos exceptiona
		}

Nie wiem czemu pairs.getKey() jest typu Object skoro gdy go printlnuję to dostaję chary. Konwersja też nie pomaga.

1

A nie prościej wywołać keySet() ? o_O

0
for(char key : this.dictionary.keySet()) { }

Przykład był brany z neta nie jestem jeszcze tak obeznany w tych wszystkich metodach. Dzięki,

0

@Krzycho, może i jest ale wg mnie dokumentację ma gorszą (tą oficjalną) niż C++ bo brak przykładów/komentarzy użytkowników. A nawet jak są to skutecznie ukryte. 90% tego co nauczyłem się z dokumentacji C++ to z przykładów.

Wracając do tematu: przykład który podałem powyżej zadziałał idealnie. Stworzyłem następnie kolejną mapę podobną, tyle że zamiast Inta ma Double i do czego innego służy. Chciałem tak samo ją zforować i nagle zonk! Referencję do mapy przenoszę przez konstruktor innemu obiektowi.

Char cannot be resolved to a type
	Type mismatch: cannot convert from element type Object to Char

Wiem że zamieniając Char na Object będzie działało, jednak poprzednio działało przy charze więc ocb?

class Tree {
	Tree(Map probability) {
		this.buildTree(probability);
	}
	
	private void buildTree(Map probability) {
		for(Char key : probability.keySet()) {
			//i tu niestety zonk nie działa bład
		}
	}
}
1
  1. Box na char nazywa się Character...
  2. Ech a co to za używanie Map bez parametrów generycznych? Jak masz samo Map to jest tak jakby Map<Object,Object>...

Czy ty programujesz lodówką? Przeciez każde porządne IDE pokazuje jak używasz typów których nie zaimportowałeś i podpowiada co mozna zrobić...

0

Faktycznie chodziło o te dodatkowe parametry dla map. Pisałem to ale coś mi Eclipse lagował i zanim zczaił że poprawiłem to minęło tyle czasu że myślałem że nadal jest źle i cofnąłem zmiany :] Nvm, dzięki wielkie. Co do lodówki, może kiedyś, jeszcze nie ten poziom.

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