Pues… eso. Y si quiero una de solo lectura?
Nuestro querido java nos proporciona la clase Collection con un método para conseguir esto:
// SoloLectura.java
// usando métodos collection.unmodifiable
import java.util.*;
public class SoloLectura{
static Map rellenar(Map m){
// rellenamos el mapa de trabajo....
String[] claves = {"uno","dos","tres","cuatro","cinco"};
String[] valores = {"primer valor", "segundo valor", "tercer valor", "cuarto valor", "quinto valor"};
for(int i=0; i<5;i++){
m.put(claves[i],valores[i]);
}
return m;
}
static Collection rellenar(Collection c){
String[] valores = {"primer valor", "segundo valor", "tercer valor", "cuarto valor", "quinto valor"};
for(int i=0; i<5;i++){
c.add(valores[i]);
}
return c;
}
public static void main(String[] args){
Collection c = new ArrayList();
rellenar(c);
c= Collections.unmodifiableCollection(c);
System.out.println(c); // lee pero
// c.add("uno"); NO DEJA ESCRIBIR
//------------------------------------------------------->
List a = new ArrayList();
rellenar(a);
a= Collections.unmodifiableList(a);
ListIterator listilla = a.listIterator();
System.out.println(listilla.next()); //lee
//-------------------------------------------------------->
Set s = new HashSet();
rellenar(s);
s = Collections.unmodifiableSet(s);
System.out.println(s);
//-------------------------------------------------------->
Map m = new HashMap();
rellenar(m);
m= Collections.unmodifiableMap(m);
System.out.println(m);
}
}
Por supuesto hay tantas utilidades como la gente quiera implementar…. Aqui os dejo algunas de las que nos provee java: