No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Colecciones vs arreglos

21/32
Recursos

"Los arreglos son mucho más rápidos para trabajar en memoria, consumen menos memoria, si se utilizan tipos nativos son mucho más eficientes y son ideales para trabajar con APIS de bajo nivel.
Por otro lado, las colecciones son más fáciles de manipular, tienen múltiples variantes y, especializaciones para cada tarea, los tamaños son flexibles y las colecciones son extensibles y personalizables.

Hay muchos tipos de colecciones:

  • Simple: manipulan todo como tipos Object; algunos ejemplos son el ArrayList, BitArray, Queue, Stack y Sorted.
  • Especializadas: son diseñadas para manejar un tipo de dato especifico; algunos ejemplos son, StringCollection, BitVector, ListDictionary y NameValueCollection.
  • Genéricas: son las más usadas hoy en día, algunos ejemplos son: Dictionary<T,K>, List<T>, Queue<T>, Stack<T>, HashSet<T> y SortedSet<T>.
  • Concurrentes: son diseñadas para el acceso concurrente; algunos ejemplos son: ConcurrentBad<T>, ConcurrentStack<T> y ConcurrentQueue<T>.

Si quieres ver más tipos de colecciones que hay en C# visita el siguiente enlace.

Aportes 48

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Tienen que tener en cuenta si piensan usar colecciones simples como ArrayList,BitArray,Queue,Stack puede verse afectado su rendimiento ya que están haciendo proceso llamados Boxing y Unboxing que consiste en la conversión implicita y de cualquier clase en tipo object, este proceso le pega super duro a la memoria.

a continuación les dejo un enlace que les puede servir de referencia.
https://docs.microsoft.com/es-es/dotnet/csharp/programming-guide/types/boxing-and-unboxing

Si lo ves desde cierto punto de vista, todo es un arreglo…

Conceptos fundamentales muy claros, bien explicados. Excelente dominio y conocimiento de Juan Carlos Ruiz. Felicitaciones.

¿Que es una Colección?
Una colección es una clase, por lo que debe declarar una instancia de la clase para poder agregar elementos a dicha colección; estas son usadas para crear y administrar grupos de objetos relacionados, las colecciones proporcionan una manera más flexible de trabajar con grupos de objetos.

Colecciones : Son clases en las que se pueden agrupar objetos del mismo tipo.

  • Son de fácil manipulación; es decir que se puede eliminar , agregar elementos sin preocupación de un tamaño fijo.

  • Se tienen colecciones que se encargan de realizar tareas especificas, ejemplo :

    • Manipulación de Cadenas, de Bits.
  • El tamaño de la colección puede variar en el tiempo (Puede incrementar o disminuir).

Cuando Utilizar Arreglos:

  • Solo se justifica el uso de arreglos cuando de verdad se necesita utilizar el procesador.

  • Cuando la implementación del código es muy simple.

      Tipos de colecciones :
    
  • Simples : Se pueden manipular todo tipo de objetos.(A dia de hoy casi nadie las utiliza porque tiene un costo de rendimiento muy alto).

  • Especializadas : Son colecciones que están diseñadas para manipular tipos de datos específicos.(Tampoco son tan utilizadas al día de hoy.)

Hola, espero estén bien. Por acá dejo algunos apuntes de terminología:

1. Metadatos: Datos que describen datos.

2. Corrimiento de bytes: desplazamiento de posición de un byte o cambio de lugar.

3. DLL: Dynamic Link Library, Biblioteca de vínculos dinámicos.
- Contiene código y datos.
- Eficaz uso de la memoria.
- Puede usarse por más de un programa en simultáneo.

4. Performance: es el rendimiento en el que puede llegar a afectar el software a los recursos máquina, por ejemplo memoria, almacenamiento.

5. Boxing unboxing: proceso de conversión a entre tipos de valor y tipos de referencia.

Espero les ayude un poco. Gracias por leer!

Habia posibilidad de implementar algun ejemplo de estas listas

Simple: manipulan todo como tipos Object; algunos ejemplos son el ArrayList, BitArray, Queue, Stack y Sorted.
Especializadas: son diseñadas para manejar un tipo de dato especifico; algunos ejemplos son, StringCollection, BitVector, ListDictionary y NameValueCollection.
Genéricas: son las más usadas hoy en día, algunos ejemplos son: Dictionary<T,K>, List<T>, Queue<T>, Stack<T>, HashSet<T> y SortedSet<T>.
Concurrentes: son diseñadas para el acceso concurrente; algunos ejemplos son: ConcurrentBad<T>, ConcurrentStack<T> y ConcurrentQueue<T>.

¡¡¡En tu cara Java!!!

Hay muchos tipos de colecciones:

Simple: manipulan todo como tipos Object; algunos ejemplos son el ArrayList, BitArray, Queue, Stack y Sorted.
Especializadas: son diseñadas para manejar un tipo de dato especifico; algunos ejemplos son, StringCollection, BitVector, ListDictionary y NameValueCollection.
Genéricas: son las más usadas hoy en día, algunos ejemplos son: Dictionary<T,K>, List<T>, Queue<T>, Stack<T>, HashSet<T> y SortedSet<T>.
Concurrentes: son diseñadas para el acceso concurrente; algunos ejemplos son: ConcurrentBad<T>, ConcurrentStack<T> y ConcurrentQueue<T>.

Demasiada información :C jaja ya se me olvido todo

la explicacion es buena.

List —> por fin

De la tabla de ventajas arreglos/colecciones:

Arreglos

  • Son mucho más rápidos en su memoria
  • Consumen menos memoria
  • Si utilizas tipos nativos (byte, int, char; no clases creadas) son de lejos mucho más eficientes
  • Ideal para trabajar APIS de bajo nivel

Colecciones

  • Más fáciles de manipular

  • Múltiples variantes y especializaciones para cada tarea

  • Tamaños flexibles

  • Extensibles, personalizados

Justo lo que veo mucho en mi trabajo, el List

"Los arreglos son mucho más rápidos para trabajar en memoria, consumen menos memoria, si se utilizan tipos nativos son mucho más eficientes y son ideales para trabajar con APIS de bajo nivel.
Por otro lado, las colecciones son más fáciles de manipular, tienen múltiples variantes y, especializaciones para cada tarea, los tamaños son flexibles y las colecciones son extensibles y personalizables.

Para los que en las clases anteriores cuando el profesor dijo que el Foreach tenía un costo en memoria no supieron que de hablaba. Se referia a las Colecciones simples, pues al hacer foreach de ciertos tipos de datos como un Enum, le haces un box a esos datos y te hace usar más memoria en esa tarea.

también se les pueden llamar contenedoras de cantidad fija y contenedoras de cantidad variable.

Excelente!

Tipos de Colecciones: Simples, especializadas, genericas

En la mayoría de casos conviene usar colecciones por sobre arreglos, debido a que se hace mucho más sencillo la manipulación de una colección, y en contraste con los arreglos, se tendría que tener mucho desarrollo por detrás para lograr la eficiencia de una colección lo cual no merece la pena, a no ser que se trate de alguna aplicación de bajo nivel en la que la optimización de rendimiento sea primordial.

Muy importante esta clase!

Apunte de la clase:

Wow! estoy ensuciando la mesa, que bien…

explicacion colecciones genericas

En la cotidianidad en el ámbito de la programación es más común ver el uso de colecciones. Los arreglos si bien se ven más en el proceso de aprendizaje.

Buenisima Clase

Muy interesante, muy buena informacion

👍🏽

es un teso los cursos con cada clase es mas claro brutal

En conclusión, los arreglos son mas optimizados en memoria.

Gracias bien explicado que es un arreglo y una colección.

👍

Tipos de colecciones. Simples, Especializadas, Genéricas y Concurrentes

Es una larga lista de colecciones que hay que saber en que momento vamos a poder utilizar

Muy buena clase

rayos

Buenas clases

muy buena explicacion

Muy interesante!

Excelente tema!!

Excelente explicación de las colecciones vs los arreglos

ok…

Siempre esperé entender cuando usar arreglos genéricos y cuando las colecciones.

Venimos bien por ahora es un curso básico de programación para mi le falto el hecho de que usen UML o diagramas de flujo para conectar lo visto antes con lo visto ahora pero el curso en si esta muy bueno para conocer el lenguaje.

Muy bien explicado, se entendió perfecto.

Muy buena clase, excelente explicación!

Es posible modificar el tamaño de un array con la función resize…
Aqui
Les dejo por si depronto la necesitan.

Colleciones genericas Tomar un curso más avanzado acerca de esto.