Menu
Coddy logo textTech

¿Qué es un vector?

Parte de la sección Logic & Flow del Journey de Rust de Coddy — lección 7 de 66.

En Rust, tienes dos formas principales de almacenar colecciones de datos: arrays y vectores. Mientras que los arrays tienen un tamaño fijo que debe conocerse en tiempo de compilación, los vectores son colecciones dinámicas que pueden crecer y reducirse durante la ejecución del programa.

Un vector, escrito como Vec<T>, es el tipo de arreglo ampliable de Rust. La T representa el tipo de elementos que el vector contendrá; por ejemplo, Vec<i32> para enteros o Vec<String> para cadenas de texto. A diferencia de los arreglos, donde debes especificar el número exacto de elementos de antemano, los vectores pueden comenzar vacíos y se les pueden añadir o eliminar elementos mientras se ejecuta el programa.

Aquí es cuando elegirías un vector en lugar de un array:

// Array - tamaño fijo, conocido en tiempo de compilación
let scores = [85, 92, 78, 90]; // siempre exactamente 4 elementos

// Vector - tamaño dinámico, puede cambiar durante el tiempo de ejecución
let mut grades = Vec::new(); // comienza vacío, puede crecer

Los vectores son perfectos cuando no sabes cuántos elementos necesitarás de antemano, como al almacenar la entrada del usuario, leer datos de archivos o crear listas que cambian según la lógica del programa. Proporcionan la flexibilidad que los arreglos no pueden ofrecer, manteniendo al mismo tiempo un acceso eficiente a los elementos.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Hoja de referencia

Los vectores (Vec<T>) son colecciones dinámicas que pueden crecer y reducirse durante la ejecución del programa, a diferencia de los arreglos que tienen un tamaño fijo conocido en tiempo de compilación.

La T representa el tipo de elementos que contendrá el vector:

Vec<i32>    // vector de enteros
Vec<String> // vector de cadenas

Creación de un vector:

let mut grades = Vec::new(); // comienza vacío, puede crecer

Comparación con arreglos:

// Arreglo - tamaño fijo
let scores = [85, 92, 78, 90]; // siempre exactamente 4 elementos

// Vector - tamaño dinámico
let mut grades = Vec::new(); // puede cambiar durante el tiempo de ejecución

Use vectores cuando no sepa de antemano cuántos elementos necesitará, como al almacenar la entrada del usuario, leer datos de archivos o crear listas que cambian según la lógica del programa.

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Logic & Flow