Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [Java] Scorrere HashMap

    Ciao a tutti,
    ho già trovato altri thread del genere, ma non sono riuscita a risolvere il mio problema.

    Io ho un HashMap<ArrayList<String>, ArrayList<String>>

    Il primo ArrayList contiene i titoli di articoli, il secondo l'articolo stesso.

    Io vorrei semplicemente stamparli così:
    (1) titolo:
    articolo

    (2) titolo:
    articolo

    Ma non riesco a capire come scorrere gli elementi dell'HashMap!
    Ho provato in 2 modi:

    codice:
    Set<ArrayList<String>> keySet = news.keySet();
    		for(ArrayList<String> key : keySet){
    			ArrayList<String> value = news.get(key);
    		    int x = 1;
    			for (String s : value){
    				System.out.println("(" + x + ") "+s);
    				x++;
    			}
    		}
    codice:
    Collection<ArrayList<String>> collection = news.values();
    		Iterator<ArrayList<String>> iterator = collection.iterator();
    		ArrayList<String> title = new ArrayList<>();
    		while (iterator.hasNext()){
    			title = iterator.next();
    			System.out.println(title);
    		}

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Non capisco per quale motivo titolo e articolo debbano essere due arraylist... o forse non capito, ma in ogni caso se devi gestire un certo numero di articoli, mi sembra più appropriato l'uso di

    HashMap<String, String>

    dove il primo String è il titolo, il secondo l'articolo.


    Ad ogni modo qui trovi un esempio per iterare una mappa.

    Solo che per te sarà (prendendo pari pari il codice dall'altra parte, e se davvero è corretta la struttura che hai definito sopra..):

    codice:
    while (iterator.hasNext()) {
          ArrayList<String> key = (ArrayList<String>) iterator.next();
          ArrayList<String> valore = errors.get(key));
        }
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    la tua chiave è un arraylist?
    Sarebbe meglio poi lavorare per interfacce (dichiarare la variabile di tipo interfaccia e lavorare con l'istanza)

    codice:
    Map<String, List<String>> mappa = new HashMap<String, List<String>>();
    		Collection<List<String>> valori = mappa.values();
    		Iterator<List<String>> it = valori.iterator(); 
    		String tmp; 
    		List <String> ohter = null; 
    		Iterator it2 ; 
    		while (it.hasNext()){
    			ohter = it.next(); 
    			it2 = ohter.iterator(); 
    			while (it2.hasNext()){
    				System.out.println(it2.next());
    			}
    		}
    vedi questo come va
    RTFM Read That F*** Manual!!!

  4. #4
    In effetti, probabilmente è meglio se uso:
    HashMap<String, String>
    Adesso provo così e vi faccio sapere

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.