|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2009
Messaggi: 1056
|
[JAVA]Chiarimenti
ciao a tutti...sono in procinto di fare un esame di programmazione ad oggetti in java...e ho bisogno di qualche chiarimento....
Ancora non ho capito bene a che cosa serve la classe interna di Map, Entry.... cioè quando si fa Map.Entry<K, v>....scusate se sono banale ma sono pieno di dubbi |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Nel caso in cui ti occorra iterare tutti gli elementi della mappa e ti serva sia la chiave che il valore associato, è più efficiente farsi restituire dalla mappa stessa il set di Map.Entry che essa contiene e iterarlo, piuttosto che chiede alla mappa il set di chiavi che essa contiene, per poi iterarle e per ognuna far eseguire un'operazione di get alla mappa per ottenere il valore associato. Data la mappa: Codice:
Map<String, MyObject> map = new HashMap<String, MyObject>(); // inizializza la mappa ... Codice:
for (String key : map.keySet()) {
MyObject value = map.get(key);
// usa key e value...
}
Codice:
for (Map.Entry<String,MyObject> e : map.entrySet()) {
String key = e.getKey();
MyObject value = e.getValue();
// usa key e value...
}
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2009
Messaggi: 1056
|
uhm quindi usando Map.Entry diciamo che l'iterazione sulla mappa diventa più efficiente?
Sulla documentazione di java c'è scritto che il metodo entryset() ritorna una vista-collezione della mappa...e che gli oggetti Map.Entry sono validi solo per la durata dell'iterazione... purtroppo...il mio libro dell'uni Thinking in java 4ed fa solo esempi ed esempi ed esempi sulle classi...nn tratta questi aspetti! |
|
|
|
|
|
#4 | ||
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Inoltre Java a livello di linguaggio nudo e crudo non fornisce niente di "raffinato" in termini di collezioni già pronte all'uso (mentre ad esempio Python tra i tipi built-in, cioè facenti parte del linguaggio stesso prevede già liste, tuple, set e dizionari, dunque in un libro che tratta questo linguaggio di programmazione sicuramente li trovi trattati). Comunque ci sbatti agevolmente la capoccia contro nel momento in cui passi dalla teoria alla pratica e per implementare le prime mini-applicazioni, affronti problemi un attimo meno che banali e cominci a sentire il bisogno di usare le collezioni della libreria in modo più "consapevole". Quote:
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 21-01-2011 alle 16:21. |
||
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Dec 2009
Messaggi: 1056
|
ok grazie!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:18.




















