Documentazione di Gambas
Application Repository
Come...
Componenti
Da fare
Documentazione Sviluppatori
Documenti
Indice del linguaggio
LEGGIMI
Lessico
Licenza dello Wiki
Messaggi di errore
Panoramica del linguaggio
Array nativi
Assegnazione
Classi contenitore native
Costanti
Costanti predefinite
Dichiarazione di Array (o Matrice)
Dichiarazione di enumerazione
Dichiarazione di metodi
Dichiarazione di struttura
Dichiarazione di una proprietà
Dichiarazione di variabili locali
Dichiarazioni di costanti
Dichiarazioni di variabili
Espressioni
Eventi dichiarazioni
Eventi gestione
Eventi globali gestione
Formati definiti dall'utente
Funzioni aritmetiche
Funzioni di conversione
Funzioni di formattazione
Funzioni di localizzazione e traduzione
Funzioni di manipolazione dei bits
Funzioni di Stream e Input/Output
Funzioni di test sui caratteri
Funzioni intrinsiche
Funzioni logaritmi ed esponenziali
Funzioni numeriche casuali
Funzioni stringa
Funzioni su file e directory
Funzioni sui tipi di dati
Funzioni temporali
Funzioni trigonometriche
Funzioni varie
Gestione degli errori
Gestione dei Processi
Gestione delle classi e degli oggetti
Gestione delle funzioni esterne
Il modello a oggetti di Gambas
Loop degli eventi
Metodi di comparazione
Metodi speciali
Metodo Call
Numeri complessi
Numeri Interi
Numeri in virgola mobile
Operatori aritmetici
Operatori di assegnamento
Operatori logici
Operatori ordine di valutazione
Operatori stringa
Percorsi di File e Directory
Rappresentazione binaria dei dati
Sintassi della modalità file
Strutture di controllo e funzioni
Strutture di controllo sui cicli
Strutture di controllo varie
Tipi di dati
Uso di parole chiave riservate come identificatori
Registrazione
Ultime modifiche
Wiki Manual

Classi contenitore native

L' interprete Gambas, offre due tipi di classi di contenitori nativi:

Arrays (Matrici):

Un array è un set di valori indicizzati da un numero intero (Integer) consecutivi in memoria.

Tutti i valori contenuti in un array hanno lo stesso tipo di dato, esiste un array specifico per ogni tipo di dato ad eccezione del tipo booleano (Boolean).

Fare riferimento ad Array nativi per ulteriori informazioni.

Gli arrays possono essere multidimensionali, in questo caso i suoi valori sono indicizzati da più di un' intero (Integer).

Se un array ha una sola dimensione, allora esso può essere compattato o espanso in modo dinamico con il metodo (Resize ). Ciò significa che è possibile la sua modica mentre il programma sta girando.

Collezioni:

Una collezione (Collection) è un set di valori indicizzati da una stringa (String) che ne è la sua chiave. Solamente valori Variant posso essere memorizzati in una collezione.

Questi valori sono memorizzati internamente in una tabella di tipo hash che si ridimensiona automaticamente quando uno o più elementi vengono inseriti o tolti.

Quale usare:

Questa è una breve comparazione fra i due tipi di classe contenitore:

Comparazione classi contenitore.

Array Collection
Memorizzazione interna Una memoria a blocchi. Una tabella Hash.

Significa un'array (una matrice) di contenitori, ognuno dei quali contiene una lista concatenata di valori aventi lo stesso codice hash.
Tipo di chiave Intero (Integer). Stringa (String).
Velocità d'accesso Immediata

L'accesso è immediato.
Veloce

La chiave deve essere confrontata con tutte le altre chiavi che hanno lo stesso codice hash.
Velocità d'inserimento Immediata o Lenta

Il blocco di memoria viene a volte ridotto se necessario. E inserendolo nel mezzo all'array si rendono necessari spostamenti di blocchi di memoria che degradano le prestazioni.
Veloce o Lenta

La chiave del codice hash, un indice della lista concatenata nello slot di memoria. Questa tabella viene ricalcolata ed eventualmente ridimensionata rendendo possibile un degrado delle prestazioni.

Velocità di cancellazione Immediata o Lenta

Il blocco di memoria viene a volte ridimensionato se necessario dovendo cancellare un blocco di memoria al suo interno.
Veloce o Lento

Una volta che l'elemento viene trovato, la cancellazione è immediata.

La tabella hash deve a volte essere ridimensionata e ricalcolate per poter garantire un' accesso rapido

Vedi anche