Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Appendice A: Stringhe, vettori ed Hashtable

Alcuni package Java consentono la gestione di stringhe, vettori e di una collezione di oggetti.
Alcuni package Java consentono la gestione di stringhe, vettori e di una collezione di oggetti.
Link copiato negli appunti

Gestione delle stringhe

Java mette a disposizione degli sviluppatori una classe (inclusa nel package java.lang) chiamata string, che permette, appunto, la gestione delle stringhe (da notare che da questa classe non è possibile derivare altre sottoclassi).

Gli oggetti di tipo string possono essere inizializzati in più modi, ma normalmente i costruttori più utilizzati sono due:

  • public String() : che costruisce una stringa vuota (perché sia allocata è necessario utilizzare l'istruzione nomeStringa = new String() );
  • public String (string value) che costruisce una stringa contenente la stringa value (in pratica si ottiene la copia della stringa value).

I metodi della classe più utilizzati sulle stringhe sono:

  • length(): restituisce il numero di caratteri che compongono la stringa escluso il terminatore;
  • charAt(int i): restituisce il carattere della stringa in posizione i;
  • concat(string str): restituisce una nuova stringa ottenuta dalla concatenazione delle stringa con la stringa str;
  • equals(string str): confronta la stringa con la stringa str, restituendo true se risultano uguali;
  • equals.IgnoreCase(string str): confronta la stringa con la stringa str tenendo conto delle lettere minuscole e maiuscole;
  • compareTo(string str): confronta la stringa con la stringa passata come parametro (str), restituendo 0 se risultano uguali, un numero positivo se str è minore in ordine alfabetico e un numero negativo se str è maggiore;

Gestione dei vettori

Java oltre all'implementazione di una classe per la gestione delle stringhe, ne fornisce una che permette di gestire i vettori (contenuta nel package java.util): la classe Vector.

Un oggetto di tipo vettore è fornito di tre costruttori, e può quindi venire definito in altrettanti modi:

  • public Vector(): costruisce un vettore vuoto (avente dimesione di default 10);
  • public Vector(int capacitaIniziale): costruisce un vettore di capacità capacitaIniziale;
  • public Vector(int capacitaIniziale, int incremento): costruisce un vettore di capacitàiniziale pari a capacitaIniziale avente come incremento di capacità pari a incremento (quando viene aggiunto un nuovo elemento ad un vettore già pieno, infatti, la classe Vector alloca un nuovo vettore di capacità uguale alla precedente più un incremento, che di default è uguale a 1).

I metodi più utilizzati della classe Vector:

  • elementAt(int i): restituisce l'elemento in posizione i;
  • firstElement(): restituisce il primo elemento del vettore;
  • lastElement(): restituisce l'ultimo elemento;
  • addElements(Object obj): aggiunge obj dopo l'ultimo elemento del vettore (la classe Object è la radice da cui sono derivate tutte le altre classi Java);
  • insertElementAt(Object obj, int i): inserisce il nuovo elemento obj nella posizione i;
  • setElementAt(Object obj, int i): sostituisce l'elemento in posizione i con obj;
  • removeElementAt(int i): rimuove l'elemento in posizione i;
  • removeElement(Object obj): se il vettore contiene l'elemento obj, esse verrà rimosso e il metodo restituirà il valore true, altrimenti sarà restituito false;
  • removeAllElements(): rimuove tutti gli elementi del vettore.

La classe Hashtable

La classe Hashtable (contenuta nel package java.util e derivata dalla classe astratta Dictionary) permette di memorizzare una collezione di oggetti (più specificatamente delle coppie oggetto-chiave) avente funzioni molto simili ai database: le chiavi non replicabili permettono infatti un veloce accesso ai dati.

Nota: Chiavi e oggetti devono essere di tipo Object.

I metodi più importanti implementati da Hashtable sono:

  • size(): restituisce un intero contenente il numero di elementi inseriti nell'Hashtable;
  • isEmpty(): restituisce un valore booleano che indica se il dizionario è vuoto o meno (il valore true segnala il dizionario vuoto);
  • get(Object chiave): restituisce l'oggetto a cui è associata la chiave chiave, se la chiave non viene trovata restituisce null;
  • put(Object chiave, Object elemento): inserisce in hashtable l'elemento elemento e gli associa la chiave chiave, se la chiave è già stata inserita viene sostituito l'oggetto ad essa associato e viene restituito, altrimenti viene restituito null;
  • remove(Object chiave): rimuove dalla hashtable l'elemento associato a chiave, se la chiave non esiste viene restituito null.

I metodi elements() e keys() ritornano collezioni oggetti che implementano l'interfaccia Enumeration, grazie alla quale è possibile scorrere la collezione di oggetti, utilizzando i metodi:

  • hasMoreElements(): che restituisce il valore booleano true se ci sono ancora elementi da scorrere;
  • nextElement(): si sposta all'elemento successivo.

Ti consigliamo anche