ArrayList<Persona> l = new ArrayList<Persona>(0); l.add(new Persona(27, "marco", "bianco")); Iterator<Persona> pit = l.iterator(); while (pit.hasNext()) { Persona p = pit.next(); System.out.println(p); } for (int i=0; i<l.size(); i++){ Persona p = l.get(i); System.out.println(p); } Collection<String> coll=new ArrayList<String>(); for(String tmp:args){ coll.add(tmp); } for(String tmp:coll){ System.out.println(tmp); }
Generics => compile time control, preferiti perché più sicuri alle liste classiche
Collection<String> lista = new ArrayList<String>(); lista.add("Ciao"); //segnala errore in fase di compilazione lista.add(new Integer(5)); Iterator<String> it=lista.iterator(); while(it.hasNext()){ //Non è necessario il cast String tmp = it.next(); }
Map<Integer, String> hm = new HashMap<Integer, String>(); mappa.put(2, "Pasquale");
public static void var_dump(Collection<?> l){} public static void test(){ Collection<String> a = new ArrayList<String>(); var_dump(a); }
package devsmt.generics; import java.util.Iterator; import java.util.Stack; public class Pila<N extends Number> implements Iterable<N>{ private Stack<N> list; public Pila(){ list=new Stack<N>(); } public void add(N element){ list.push(element); } public N remove(){ return list.pop(); } boolean isEmpty(){ return list.isEmpty(); } @Override public Iterator<N> iterator() { return list.iterator(); } }
set non ammette duplicati, è ordinata
HashSet<Persona> hash = new HashSet<Persona>(0); hash.add(new Persona(27, "marco", "bianco")); Iterator<Persona> it = hash.iterator(); while (it.hasNext()){ Persona p = it.next(); System.out.println(p); }
permette duplicati, ordine casuale
HashMap<String, Persona> hash = new HashMap<String, Persona>(0); hash.put("marco", new Persona(27, "marco", "bianco")); Collection<Persona> collection = hash.values(); Iterator<Persona> it = collection.iterator(); while (it.hasNext()){ Persona p = it.next(); System.out.println(p); } System.out.println(hash.get("marco"));
public class EnumTest { public enum Weekday {LUN,MAR,MER,GIO,VEN,SAB,DOM}; public static void main(String[] args) { System.out.println("Stampa la lista dei valori"); //Ciclo for-in for(Weekday d:Weekday.values()){ System.out.println(d); } //Scelgo un valore Weekday d = Weekday.GIO; //definisco una logica switch(d){ case LUN: System.out.println("Oggi è Lunedi"); break; case MAR: System.out.println("Oggi è Martedi"); break; case MER: System.out.println("Oggi è Mercoledi"); break; case GIO: System.out.println("Oggi è Giovedi"); break; case VEN: System.out.println("Oggi è Venerdi"); break; case SAB: System.out.println("Oggi è Sabato"); break; case DOM: System.out.println("Oggi è Domenica"); break; } } }
StringBuilder tmp = new StringBuilder(); // Using default 16 character size tmp.append("prefix "); tmp.append(variable1); tmp.append(" middle "); tmp.append(variable2); tmp.append(" end"); return tmp.toString();