Ashlee Estefani Hernandez Linares
2024-0168
Concepto y características:
-Define qué es un ArrayList y cuáles son sus principales características en Java y C#.
Un ArrayList es una estructura de datos dinámica que permite almacenar una colección de
objetos. A diferencia de los arreglos tradicionales, cuya longitud es fija al momento de su creación,
un ArrayList puede crecer o reducir su tamaño según sea necesario, lo que lo hace muy flexible
para almacenar un número variable de elementos.
Características Principales
Tanto en Java como en C#, los ArrayList presentan las siguientes características:
• Dinámico: Su tamaño se ajusta automáticamente a medida que se agregan o eliminan
elementos.
• Heterogéneo: Puede almacenar objetos de diferentes tipos, aunque esto puede requerir
conversiones de tipo al acceder a los elementos.
• Ordenado: Los elementos se almacenan en un orden específico, basado en el índice en el
que se insertaron.
• Basado en cero: El primer elemento de un ArrayList tiene un índice de 0.
• Permite duplicados: Puedes almacenar múltiples instancias del mismo objeto en un
ArrayList.
• Implementa la interfaz List: Proporciona métodos para agregar, eliminar, buscar y ordenar
elementos.
• Diferencias entre Java y C#
• Aunque los ArrayList en Java y C# comparten muchas similitudes, existen algunas
diferencias menores:
•
• Nombre de la clase: En Java, la clase se llama ArrayList, mientras que en C# se
llama [Link].
•
• Generics: C# introdujo los generics en versiones posteriores, lo que permite crear
ArrayLists de tipos específicos, mejorando la seguridad de tipos y evitando
conversiones innecesarias. Java también tiene generics, pero su introducción fue
posterior.
•
• Otras colecciones: Ambas plataformas ofrecen una variedad de otras colecciones
como List, Set, Map, etc., que proporcionan funcionalidades más específicas y
eficientes para diferentes escenarios.
Ejemplo en java
Ejemplo en C#
• Escribe ejemplos básicos que demuestren cómo declarar, inicializar, y manipular un
ArrayList en Java y en C#.
Ejemplo en java
Ejemplo en C#
• Incluye operaciones como agregar elementos, eliminar elementos, buscar elementos y
recorrer el ArrayList utilizando bucles.
Ejemplo en java
1. Ventajas y desventajas:
o Analiza las ventajas y desventajas de usar un ArrayList frente a otras colecciones
disponibles en cada lenguaje.
Ventajas de ArrayList
• Flexibilidad: Su tamaño se ajusta dinámicamente, lo que significa que puedes agregar o
eliminar elementos sin tener que preocuparte por redimensionar manualmente el arreglo.
• Fácil de usar: Proporciona una API sencilla e intuitiva para realizar operaciones comunes
como agregar, eliminar, buscar y recorrer elementos.
• Acceso aleatorio eficiente: Permite acceder a cualquier elemento por su índice de forma
rápida, lo que es útil cuando necesitas buscar elementos específicos.
• Heterogeneidad (aunque no recomendado): los ArrayList pueden almacenar objetos de
diferentes tipos, lo que brinda cierta flexibilidad.
Desventajas de ArrayList
• Overhead de redimensionamiento: Cuando un ArrayList se llena, debe reasignarse un
nuevo arreglo más grande y copiar todos los elementos existentes, lo que puede ser
costoso en términos de rendimiento si se realizan muchas adiciones o eliminaciones en el
medio del ArrayList.
• No es tipo seguro (en Java pre-generics): En Java, antes de la introducción de generics, los
ArrayList no eran tipo seguros, lo que podía llevar a errores de tiempo de ejecución debido
a conversiones de tipo incorrectas.
• No es la mejor opción para todas las situaciones: Para ciertas operaciones, como
inserciones y eliminaciones frecuentes en el medio de la lista, una LinkedList puede ser
más eficiente.
• Consumo de memoria: Al crecer dinámicamente, un ArrayList puede consumir más
memoria que un arreglo de tamaño fijo si no se utiliza de manera eficiente.
1. Casos prácticos:
o Propón un caso práctico en el que el uso de un ArrayList sea la solución más
adecuada en cada lenguaje.
Caso : Gestión de una lista de tareas
Problema: Desarrollar una aplicación que permita a un usuario crear, mostrar , modificar , eliminar
,buscar elementos de la lista .