Java Map

di il
24 risposte

24 Risposte - Pagina 2

  • Re: Java Map

    KuroKami69 ha scritto:


    per prendere i dati da un oggetto, dovrò si usare il, in questo caso, getLato(); però se non erro il codice completo dovrebbe essere c.getLato(); giusto?
    Scusa ma .... se siamo (sei) ancora a questi dubbi .... la vedo dura.

    KuroKami69 ha scritto:


    quindi se io volessi richiamare e stampare il lato di ogni cubo che creo nel for, direttamente dopo la creazione nel for, com'è il codice? cioè non sarà più c.getLato(); perché, se ho ben capito, mi restituirà sempre il valore del primo cubo creato, ossia c0. quindi se non erro si deve usare il get della classe mappa no? ma non capisco come
    Scusa ma hai visto il mio ultimo codice? Dentro il for viene creato un oggetto Cubo assegnato ad una variabile cubo. Questo è il Cubo i-esimo, NON è solo il primo. Ad ogni ciclo hai un nuovo oggetto Cubo. Bene, usa questa variabile cubo ed accedi ai dati con i getter.
  • Re: Java Map

    Ah ora ho capito. Bhe si in effetti mi piace fare cose nuove, forse un po' di nicchia se vogliamo, ma sono duro di comprendonio ahahaha però se programmo non riesco a fare a meno di provare cose nuove e complesse, è più forte di me
    Domanda forse un attimo banale. Ma dopo i cubi creati li posso usare anche fuori dal for? Perchè se ho ben capito, con quella variabile io contengo solo un oggetto cubo no?
    Il codice comunque è cubo.getLato(); giusto?
  • Re: Java Map

    KuroKami69 ha scritto:


    Ma dopo i cubi creati li posso usare anche fuori dal for? Perchè se ho ben capito, con quella variabile io contengo solo un oggetto cubo no?
    Il codice comunque è cubo.getLato(); giusto?
    Gli oggetti che hai inserito nella mappa ovviamente sì, sono utilizzabili anche fuori dal ciclo for (dovrai usare il get con la chiave corrispondente per ottenere l'oggetto Cubo associato), se ti riferisci alla variabile cubo, invece, quella non è visibile al di fuori del ciclo for. Se la dichiari prima del ciclo (o a livello di istanza, o anche "di classe") puoi fare l'assegnamento all'interno e usarla anche all'esterno, o puoi usare un'altra struttura dati (oltre a una mappa puoi usare un array, una lista ...).

    Il codice cubo.getLato () è ovviamente corretto, puoi inserirlo dentro a un System.out.print (o metodi simili come println ...) per eseguire la stampa a video.
  • Re: Java Map

    Quindi ci sono diverse strade
    Creare i cubi dentro a un ciclo for con la mappa, mi permette comunque di usarli all'esterno
    In alternativa posso fare un array di oggetti e infilarci i miei cubi
    Se invece li voglio usare all'interno del for o li passo a una variabile per poi richiamarne il metodo giusto?
  • Re: Java Map

    Lo so che la domanda non ha senso, e di cui conosco gia' la rsposta, ma, come si suol dire, la domanda sorge spontanea:

    Indica, per esteso (complesinvo di AUTORE e CASA EDITRICE), il TITOLO del libro su cui stai STUDIANDO!
  • Re: Java Map

    Nessuno ahahahaha
  • Re: Java Map

    KuroKami69 ha scritto:


    Quindi ci sono diverse strade
    Creare i cubi dentro a un ciclo for con la mappa, mi permette comunque di usarli all'esterno
    In alternativa posso fare un array di oggetti e infilarci i miei cubi
    Se invece li voglio usare all'interno del for o li passo a una variabile per poi richiamarne il metodo giusto?
    Non sono sicuro di aver capito bene il tuo dubbio.

    Ma la questione qui non è tanto di mappa, array, etc., la questione è solo relativa alla visibilità di una variabile.
    Ciò che è dichiarato all'interno di un blocco di codice (che sia un ciclo o anche un metodo) non è visibile all'esterno, non puoi proprio accederci.
    Quindi perché creare quella variabile Cubo locale al ciclo per fare la stampa del lato (o qualsiasi altra cosa) ?

    E' una questione di comodità ed efficienza in questo caso, nulla ti vieta di aggiungere ad ogni iterazione del ciclo un nuovo cubo nella mappa e andarlo a prendere subito dopo con il get:
    
    for (int i = 0;...... ) {
        // ...
        mappaCubi.put("c" + i, new Cubo( .... ));
        System.out.println (mappaCubi.get ("c" + i).getLato ());
    }
    
    Questo funziona uguale, ma onestamente è piuttosto brutto da vedere, inefficiente e in alcuni casi porterà ad errori.
    Da lì l'assegnazione ad una variabile locale all'interno del ciclo.
  • Re: Java Map

    Da telefono è davvero ardua rispondere.
    Quindi ricapitolando.
    Con il for io creo dei cubi, e visto che uso le mappe, allora posso usarli anche fuori.
    Se usassi la variabile come nel tuo esempio, non usciranno dal for.
    Potrei creare un array di oggetti e portarmi fuori gli oggetti.
    Giusto? Odio non poterne parlare di persona, non riesco a esprimermi bene per iscritto ahahahah
    Comunque sto facendo java al serale
  • Re: Java Map

    KuroKami69 ha scritto:


    visto che uso le mappe, allora posso usarli anche fuori.
    Visto che la mappa è dichiarata all'esterno del ciclo.

    KuroKami69 ha scritto:


    Se usassi la variabile come nel tuo esempio, non usciranno dal for.
    Se la variabile è locale al ciclo, no, non esce dal for. Ancora una volta, puoi dichiararla anche fuori ...

    KuroKami69 ha scritto:


    Potrei creare un array di oggetti e portarmi fuori gli oggetti.
    Sì, come detto i tuoi oggetti possono essere aggiunti anche ad altre strutture dati.
  • Re: Java Map

    Grazie mille per tutto l'aiuto ^_^
Devi accedere o registrarti per scrivere nel forum
24 risposte