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

    nome dinamico per oggetti Hashmap(JAVA)

    Io ho un oggetto
    HashMap oggetto1 = new HashMap();

    tale oggetto viene cosi 'riempito'

    HashMap oggetto2 = new HashMap();
    oggetto1.put("1",oggetto2);
    HashMap oggetto3 = new HashMap();
    oggetto1.put("2",oggetto3);
    HashMap oggetto4 = new HashMap();
    oggetto1.put("3",oggetto4);
    ecc.

    Ecco siccome non so quante saranno le HashMap( e quindi le chiavi) da inserire nell'oggetto1 come posso crearle dinamicamente dando loro un nome dinamico??

    qcosa del tipo(so che non funziona ma faccio un esempio):
    for (i =1;i<variabile;i++)
    {
    HashMap (oggetto+i) = new HashMap();
    }

    dove (oggetto+i) mi crea dinamicamente il nome della variabile(in javascript mi sembra che sia eval la funzione adatta)

    Si puo' fare qcosa di simile in java???
    O altrimenti come potrei ovviare???
    grazie

  2. #2
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao non credo che tu possa fare come hai detto; in compenso prò potresti prendere un array di HashMap e cioè:

    HashMap[] hashes = new HashMap[variabile];
    for( int i = 0; i < variabile; i++ ){
    hashes[i] = new HashMap();
    hashes[i].put("xxx", oggetto);
    }
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  3. #3
    ok ho risolto, appena ho tempo spiego come.
    grazie

  4. #4
    mi sa che spiego tutto tra qualche giorno, sono troppo incasinato
    cmq grazie a tutti

  5. #5
    ho risolto cosi
    codice:
    private static HashMap labels = new HashMap();
    
    	public static void setLabel()
    	{           
    			.....
    			while(....)
    			{
    				
    				String id=metodoQualunque("id");	
    				HashMap label = new HashMap();
    				while(....)
    				{	
    					....
    					label.put(..,..);//mi costruisco la mia nuova hashmap
    				}
    				labels.put(id , label);//aggiungo un valore alla prima hashmap
    			}
    		
    		
    	}
    
    	public static String getLabel(String a, String b)
    	{
    		HashMap hm = (HashMap)labels.get(a);
    		String valore = (String)hm.get(b);
    		return valore;
    	}

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.