Java - L'interfaccia della raccolta
L'interfaccia Collection è la base su cui è costruito il framework delle collezioni. Dichiara i metodi principali che avranno tutte le raccolte. Questi metodi sono riepilogati nella tabella seguente.
Poiché tutte le raccolte implementano Collection, la familiarità con i suoi metodi è necessaria per una chiara comprensione del framework. Molti di questi metodi possono generare un fileUnsupportedOperationException.
Sr.No. | Metodo e descrizione |
---|---|
1 | boolean add(Object obj) Aggiunge obj alla raccolta di richiamo. Restituisce vero se obj è stato aggiunto alla raccolta. Restituisce false se obj è già un membro della raccolta o se la raccolta non consente i duplicati. |
2 | boolean addAll(Collection c) Aggiunge tutti gli elementi di c alla raccolta invocante. Restituisce vero se l'operazione ha esito positivo (ovvero, gli elementi sono stati aggiunti). In caso contrario, restituisce false. |
3 | void clear( ) Rimuove tutti gli elementi dalla raccolta di richiamo. |
4 | boolean contains(Object obj) Restituisce true se obj è un elemento della raccolta di richiamo. In caso contrario, restituisce false. |
5 | boolean containsAll(Collection c) Restituisce true se la raccolta di richiamo contiene tutti gli elementi di c. In caso contrario, restituisce false. |
6 | boolean equals(Object obj) Restituisce true se la raccolta invocante e obj sono uguali. In caso contrario, restituisce false. |
7 | int hashCode( ) Restituisce il codice hash per la raccolta di richiamo. |
8 | boolean isEmpty( ) Restituisce vero se la raccolta che richiama è vuota. In caso contrario, restituisce false. |
9 | Iterator iterator( ) Restituisce un iteratore per la raccolta di richiamo. |
10 | boolean remove(Object obj) Rimuove un'istanza di obj dalla raccolta di richiamo. Restituisce vero se l'elemento è stato rimosso. In caso contrario, restituisce false. |
11 | boolean removeAll(Collection c) Rimuove tutti gli elementi di c dalla raccolta di richiamo. Restituisce vero se la raccolta è cambiata (cioè, gli elementi sono stati rimossi). In caso contrario, restituisce false. |
12 | boolean retainAll(Collection c) Rimuove tutti gli elementi dalla raccolta invocante tranne quelli in c. Restituisce vero se la raccolta è cambiata (cioè, gli elementi sono stati rimossi). In caso contrario, restituisce false. |
13 | int size( ) Restituisce il numero di elementi contenuti nella raccolta di richiamo. |
14 | Object[ ] toArray( ) Restituisce una matrice che contiene tutti gli elementi archiviati nella raccolta di richiamo. Gli elementi della matrice sono copie degli elementi della raccolta. |
15 | Object[ ] toArray(Object array[ ]) Restituisce un array contenente solo quegli elementi della raccolta il cui tipo corrisponde a quello di array. |
Esempio
Di seguito è riportato un esempio per spiegare alcuni metodi da varie implementazioni di classi dei metodi di raccolta precedenti:
import java.util.*;
public class CollectionsDemo {
public static void main(String[] args) {
// ArrayList
List a1 = new ArrayList();
a1.add("Zara");
a1.add("Mahnaz");
a1.add("Ayan");
System.out.println(" ArrayList Elements");
System.out.print("\t" + a1);
// LinkedList
List l1 = new LinkedList();
l1.add("Zara");
l1.add("Mahnaz");
l1.add("Ayan");
System.out.println();
System.out.println(" LinkedList Elements");
System.out.print("\t" + l1);
// HashSet
Set s1 = new HashSet();
s1.add("Zara");
s1.add("Mahnaz");
s1.add("Ayan");
System.out.println();
System.out.println(" Set Elements");
System.out.print("\t" + s1);
// HashMap
Map m1 = new HashMap();
m1.put("Zara", "8");
m1.put("Mahnaz", "31");
m1.put("Ayan", "12");
m1.put("Daisy", "14");
System.out.println();
System.out.println(" Map Elements");
System.out.print("\t" + m1);
}
}
Questo produrrà il seguente risultato:
Produzione
ArrayList Elements
[Zara, Mahnaz, Ayan]
LinkedList Elements
[Zara, Mahnaz, Ayan]
Set Elements
[Ayan, Zara, Mahnaz]
Map Elements
{Daisy = 14, Ayan = 12, Zara = 8, Mahnaz = 31}