| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> Java Programming >> Content
    Perché un String Immutabile calcolarne il valore Hash
    ? Java applicazioni modello componenti di codice come oggetti , con ogni oggetto avente un'area di responsabilità . Gli oggetti forniscono metodi per svolgere le loro responsabilità . Alcuni metodi in Java sono implementati da tutti gli oggetti possibili , comprese le stringhe . Il framework Java consente agli sviluppatori di utilizzare alcuni tipi di struttura di archiviazione di dati , alcuni dei quali utilizzano i valori di hash - code per memorizzare gli oggetti . Un valore hash - codice utilizza un codice per fare riferimento a un oggetto specifico , consentendo alla classe raccolta per implementare metodi efficienti per immagazzinare più oggetti all'interno del programma . Codice Java in grado di calcolare i valori hash - code per tutti gli oggetti , tra cui stringhe , che sono immutabili . Stringa di contenuto

    variabili stringa in programmi Java sono oggetti della classe String , la memorizzazione di sequenze di caratteri di testo . Ciò può essere fonte di confusione , perché i programmi creano le variabili stringa utilizzando lo stesso tipo di struttura utilizzata per le variabili di tipo primitivo , come numeri . Il seguente codice di esempio illustra la creazione di una variabile stringa : String name = " Giovanni " ;

    Il programma può eseguire i metodi della classe String su questa variabile , alcuni dei quali coinvolgono alterare il contenuto del testo . Metodi che alterano il contenuto di una stringa normalmente restituiscono una nuova stringa , invece che modificare la stringa esistente . Questo perché le stringhe sono immutabili , il che significa che una volta che una variabile stringa viene creata , il suo contenuto non può essere modificato . I programmi in cui il contenuto di una stringa sembra essere alterato in realtà sono la creazione di nuove stringhe per sostituire quelli esistenti .
    HashCode Funzione

    Tutti gli oggetti in Java forniscono " funzione hashCode " . Questo perché tutte le classi Java ereditano dalla superclasse Object , che fornisce il metodo " hashCode " . Il seguente codice di esempio mostra la chiamata al metodo sulla variabile String : name.hashCode ( ) ;

    chiamata a questo metodo provoca Java per generare un valore hash - codice per la variabile stringa specificata . Creazione di un valore hash -code un oggetto stringa coinvolge lo stesso processo come si usa per qualsiasi oggetto .

    Risultati

    Il metodo " hashCode " si traduce in un valore intero che rappresenta l'oggetto in questione . Questo numero consente di classi Java per ottimizzare il rendimento durante la memorizzazione di valori di dati , in particolare in collegamento con la classe HashMap o altre classi di altre raccolte . Nella maggior parte dei casi , un programmatore Java non ha bisogno di preoccuparsi dei dettagli dei numeri utilizzati come hash -codici per oggetti come corde , come le classi collezioni gestire questo dettaglio .
    Equality

    il risultato della chiamata al " hashCode " su due elementi che sono uguali dovrebbe essere lo stesso numero . Ad esempio , le due variabili stringa seguenti dovrebbero generare lo stesso valore di hash - code: String nomeacaso = " Giovanni " ; String otherName = " Giovanni " ;

    Se due oggetti restituiscono un risultato vero se nell'impiego metodo equals , quindi Java li considera uguali , nel qual caso essi dovrebbero comportare lo stesso hash -code. Ad esempio , il codice seguente si tradurrebbe in un vero e proprio valore : booleano AreEqual = someName.equals ( otherName ) ;

    È tipicamente il caso che se due stringhe non sono uguali , essi generano differenti valori di hash - code , ma questo non è garantito . (Vedi riferimenti 1, 2 , 3 ) per

    Previous :

    next :
      Articoli Correlati
    ·Come creare Oggetto Date da stringa in Java 
    ·Elenco delle JSP Tag 
    ·Come ritardare di una funzione in Java 
    ·Come risolvere Upside Down Immagini Java 
    ·Come utilizzare i tasti di direzione in Java 
    ·Come creare XMLs per una JW Player 
    ·Come aumentare l'allocazione di memoria virtuale in Jav…
    ·Come aggiungere numeri interi in Java 
    ·Come faccio a scrivere Java che selezionerà un File & …
    ·Come installare Java SE 6 in Windows 
      Articoli in evidenza
    ·Come convertire un int a un JTextField in Java 
    ·Come rimuovere una parola ripetuta in PHP 
    ·Come cambiare stile di punto utilizzando la programmazi…
    ·Esiste un sostituto per PHP Banner Ad Manager ? 
    ·Che cosa è un VB.NET Import 
    ·Come sostituire testo in un file PHP 
    ·Come fare un Bubble sort 
    ·Elenco dei tipi di Webform Offline 
    ·Quanto è difficile la progettazione di una GUI in Pyth…
    ·Spiegazione di arrotondamento e troncamento in Javascri…
    Copyright © Conoscenza Informatica http://it.wingwit.com