English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Il metodo trimToSize() di ArrayList Java riduce (imposta) la capacità di ArrayList in modo che sia uguale al numero di elementi nell'ArrayList.
La sintassi del metodo trimToSize() è:
arraylist.trimToSize();
Il metodo trimToSize() non accetta alcun parametro
Il metodo trimToSize() non restituisce alcun valore. Invece, modifica solo la capacità di ArrayList.
import java.util.ArrayList; class Main { public static void main(String[] args) { //Crea ArrayList ArrayList<String> languages = new ArrayList<>(); //Aggiungi elementi all'ArrayList languages.add("Java"); languages.add("Python"); languages.add("JavaScript"); System.out.println("ArrayList: " + languages); //Riduci la capacità a 3 languages.trimToSize(); System.out.println("Dimensione ArrayList: " + languages.size()); } }
Risultato di output
ArrayList: [Java, Python, JavaScript] Dimensione ArrayList: 3
Nell'esempio sopra, abbiamo creato un ArrayList chiamato languages. L'arraylist contiene 3 elementi. Nota questa riga,
languages.trimToSize();
In questo caso, il metodo trimToSize() imposta la capacità di ArrayList a uguale al numero di elementi in languages (ovvero 3).
UsiamoArrayList size()metodo per ottenere il numero di elementi nell'arraylist.
AttenzioneIl metodo trimToSize() di ArrayList non è visibile.
Sappiamo che la capacità di ArrayList è variabile. QuindiQuali sono i vantaggi dell'uso del metodo trimToSize() di ArrayList?
Per comprendere i vantaggi del metodo trimToSize(), dobbiamo conoscere il funzionamento di ArrayList.
Internalmente, l'ArrayList utilizza un array per memorizzare tutti i suoi elementi. Ora, a un certo punto, l'array sarà pieno. Quando l'array interno è pieno, viene creato un nuovo array di capacità 1,5 volte la capacità dell'array corrente. E tutti gli elementi vengono spostati nel nuovo array.
Ad esempio, supponiamo che l'array interno sia pieno, aggiungeremo solo1elementi. In questo caso, l'ArrayList si espanderà nella stessa proporzione (cioè 1,5 volte l'array precedente).
In questo caso, ci saranno alcune aree non assegnate nell'array interno. Pertanto, il metodo trimToSize() rimuoverà questi spazi non assegnati e cambierà la capacità dell'arraylist in modo che sia uguale al numero di elementi nell'arraylist.