Jonaifry Rodriguez De Jesus
2024-0082
Programacion 1, Programacion Orientada a Objetos
Practica ArrayList
Luis Soto
Define qué es un ArrayList y cuáles son sus principales características en Java y
C#.
Java:
Es una clase de la colección de Java que implementa la interfaz List. Representa una lista
dinámica que puede cambiar de tamaño.
• Características principales:
o Permite almacenar elementos duplicados.
o Mantiene el orden de inserción.
o Permite acceso aleatorio a los elementos mediante índices.
o Su tamaño puede aumentar o disminuir dinámicamente según sea necesario.
o No es seguro para hilos (thread-safe), pero se puede sincronizar
manualmente.
C#:
• Es una clase de la colección [Link] en C#. Representa una lista
dinámica que puede contener elementos de diferentes tipos (porque usa object).
• Características principales:
o Puede almacenar elementos de tipos diferentes.
o Su tamaño es dinámico y se ajusta automáticamente.
o Ofrece métodos para realizar operaciones comunes como agregar, eliminar o
buscar elementos.
o Generalmente es reemplazado por colecciones genéricas (List<T>) en
implementaciones modernas, ya que estas ofrecen mejor rendimiento y tipo
seguro.
Explica las diferencias entre un ArrayList y un array tradicional en ambos lenguajes.
Características Array(Java-C#) ArrayList (Java) / ArrayList
(C#)
Tamaño Fijo al ser declarado. Dinámico, crece o
disminuye
automáticamente.
Tipo de datos Homogéneo (debe ser del Heterogéneo en C#
mismo tipo). (almacena object),
homogéneo en Java (con
genéricos).
Métodos incorporados Limitados a Métodos ricos como add,
manipulaciones básicas. remove, contains.
Acceso a elementos Directo por índice. Directo por índice y métodos
adicionales.
Sintaxis y ejemplos
1. Escribe ejemplos básicos que demuestren cómo declarar, inicializar, y manipular un
ArrayList en Java y en C#.
Java:
C#:
2. Analiza las ventajas y desventajas de usar un ArrayList frente a otras colecciones
disponibles en cada lenguaje.
Ventaja Java C#
Tamaño dinámico Crece y decrece Igual que en Java.
automáticamente.
Facilidad de uso Métodos predefinidos Métodos similares que
para operaciones ahorran código.
comunes.
Flexibilidad Almacena tipos Permite múltiples tipos
genéricos (con (aunque no genérico).
genéricos).
Desventaja Java C#
Rendimiento Más lento que un Igual que en Java.
array debido al
manejo dinámico.
No type-safe Antes de genéricos, Problemas con
podía causar errores conversión de tipos
de tipo. debido al uso de
object.
Alternativas Las colecciones Igual, List<T> es más
mejores modernas (List) eficiente.
suelen ser
preferibles.
Casos Prácticos
Java:
Una lista de tareas pendientes para una aplicación. Dado que las tareas pueden
agregarse o eliminarse con frecuencia, el tamaño dinámico y los métodos útiles de un
ArrayList facilitan la implementación.
C#:
Almacenar datos heterogéneos temporalmente, como registros de un formulario
donde los tipos de datos no se conocen por adelantado.