2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.
2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.
Colecciones y Listas Datos agrupados. Arreglos de variables. /* Crea un arreglos de nmeros de 3 posiciones */ int[] nmeros = new int[3];
3 2 1 0 2,0 2,1 2,2 2,3 1,0 1,1 1,2 1,3 0,0 0,1 0,2 0,3 3,0 3,1 3,2 3,3 2,0 2,1 2,2 1,0 1,1 1,2 1,3 0,0 0,1 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados. Colecciones y Listas Colecciones especializadas. System.Collections y System.Collections.Generics. Facilidades de manejo: Agregar, Ordenar, Eliminar, Insertar y Recuperar. Clases ArrayList y List<T>. Versiones sofisticadas de una matriz. 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados. Colecciones y Listas La capacidad de Array es fija, mientras que la capacidad de ArrayList o List(T) se ampla automticamente si es necesario. ArrayList y List(T) proporcionan mtodos para agregar, insertar o quitar un intervalo de elementos. En una coleccin Array, slo puede obtener o establecer un valor para un elemento cada vez. 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados. Colecciones y Listas Se puede establecer el lmite inferior de Array, pero el lmite inferior de ArrayList o List(T) siempre es cero. Array puede tener varias dimensiones, mientras que ArrayList o List(T) siempre tienen una dimensin exactamente. ArrayList almacena elemntos de tipo Object. List trabaja con seguridad de tipos
2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados. Colecciones y Listas Declaracin
ArrayList nombre = new ArrayList ();
List<tipo> nombre = new List<tipo>();
using System; using System.Collections.Generic;
public class Lista { Liststring listacolores = new Liststring(); }
Ejemplo 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados. Colecciones y Listas Aadir elementos
2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados. Colecciones y Listas Actividad 1: Manejo de ArrayList 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados. Colecciones y Listas Tipos Genricos (Generics) Incluidos en la versin 2.0 Concepto de parmetros de tipo <T>. Reusabilidad, seguridad de tipos y eficacia. Mejora el rendimiento al no estar trabajando con elementos Object (boxing y unboxing). 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados. Colecciones y Listas Problema de la agrupacin no tipada.
System.Collections.ArrayList lista = new System.Collections.ArrayList();
// Agrega un nmero. lista.Add(3);
// Agrega una cadena. lista.Add("Azul");
int t = 0; // Esto causa una excepcin del tipo InvalidCastException. foreach (int x in lista) { t += x; }
2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados. Colecciones y Listas Problema de la agrupacin no tipada.
// Declara una lista genrica para tipos enteros List<int> lista = new List<int>();
// Sin boxing ni casting: lista.Add(3);
// Esto dara un error de compilacin al chequear el tipo: // lista.Add("Azul");
2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados. Colecciones y Listas Actividad 2: Manejo de Listas Genricas 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados. Colecciones y Listas Hashtables Asignacin de una clave para acceder a los elementos. Implementacin de IDictionary. Manejo de sectores de almacenamiento para rpido acceso. Elementos de componen del un par clave-valor. Instancias de DictionaryEntry. 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados. Colecciones y Listas Declaracin
Hashtable nombre = new Hashtable();
Agregar elementos
Hashtable coleccion = new Hashtable();
for (i=0; i < 5; i++) { coleccion.Add(i, string.Format(Elemento {0}, i)); }
2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados. Colecciones y Listas Acceso mediante ciclo foreach
/* Mostrar todos los colores de la lista */ foreach (DictionaryEntry entrada in ListaColores) { Console.WriteLine ( entrada.Key); Console.WriteLine ( entrada.Value); }
Validacin de llaves
string llave = Uno;
if (coleccion.ContainsKey(llave)) { Console.WriteLine (Llave existe); }
2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados. Colecciones y Listas Actividad 3: Manejo de Hashtable 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.