Colecciones
Clase 5 de 29 • Curso de Dart
Contenido del curso
Clase 5 de 29 • Curso de Dart
Contenido del curso
Facundo Nicolás García Martoni
hector alejandro viscue parra
Marco Alexander Mateo Mateo
Usuario anónimo
Angel Perez
Jhonny Zapata
Sergio Armando Medina Chaparro
Christian David Sánchez
Carlos Isaac Rosales Castellanos
Manuel Valenzuela
Cristian David Franco Garcia
Erian Rincon
Rubén Raúl Hernández Mac-kinley
Lucas Nahuel Gonzalez
Facundo Nicolás García Martoni
Usuario anónimo
Salvador Camacho Gasca
Fernanda Aragon
Usuario anónimo
Sebastian Valencia Zapata
Enrique Moreno
Leonardo Antonio Sánchez López
Anthony Will Solsol Soplin
Josué Chilón
Santiago Donato
Alexis Olveres
Diego Forero
Usuario anónimo
Freddy Santacruz
Oscar Rodrigo Leon Mojica
Harley Alexander Zapata Hernandez
Hansi Rüting
Valeria Calcina Cisneros
Helard Flores
Ardax Callahan
Edgar Rios
Juan Guillermo Perez Cardozo
Jorge Salvador Ruíz Montaño
++RESUMEN DE LA CLASE++
Colecciones
List -Una de las colecciones más comunes en casi todos los lenguajes es el Array, en Dart los arreglos son objetos tipo List -Trabaja con index 0 -Tiene muchas funciones por defecto
Declaración:
List list; //forma 1 List list<tipo>; //forma 2
Inicialización:
list = ["negro","blanco"];
Agregar elemento:
list.add("Rosa");
Borrar elemento:
list.removeAt(indice);
Borrar último elemento:
list.removeLast();
Añadir elementos de otra lista:
list.addAll(lista_auxiliar);
Set -En este tipo de colección un elemento puede existir una sola vez. Si intentamos enviar uno repetido no lo permitirá (pero tampoco mandará un error) -Esta no regresará en el mismo orden y por este mismo motivo no se puede pedir por index
Declaración:
Set set;
Inicialización:
set = set.from(['Argel', 'Juan']);
Agregar elemento:
set.add("Erika");
Eliminar elemento:
set.remove("Argel");
gracias
¡Gracias!
💻 También podemos combinar las listas y los sets según la necesidad que tengamos. En este caso eliminar elementos repetidos de una lista.
void main() { List listNames = ['Juan', 'Marcos', 'Juan', 'Pedro', 'Juan']; print((listNames.toSet()).toList()); }
¡ ¡ ¡ ¡ ¡ ¡ EL VOLUMEN ! ! ! ! !
a pesar de entender los ejemplos dados en las clases y entender que se puede usar un editor del lenguaje en linea para trabajar en los temas del curso, siento que hace falta una explicación como en otros cursos del proceso de instalación del entorno de desarrollo y un paso a paso de como crear el primero proyecto.
Concuerdo. Sé que es bueno que uno busque por su cuenta y se sepa defender (como en el mundo real) pero también es verdad que se está pagando harto por un curso en el que se enseñen aspectos tan importantes como la instalación del entorno de desarrollo. Al fin y al cabo eso ahorra mucho tiempo :)
El instructor mencione un editor online al inicio. Personalmente estoy usando ese. https://dartpad.dev/
Para los que tienen problemas de como empezar y qué editor utilizar, a continuación les explico cómo lo estoy corriendo en Windows:
-Instalé el editor de códico Visual Studio Code. -Instalé el SDK de Dart, a través de este instalador: https://gekorm.com/dart-windows/ -En Visual Studio Code, instalé la extensión de Dart para el intelliSense durante la escritura del código (El autocompletado). -Creé una carpeta para el desarrollo del curso, luego dentro de alla creo los archivos en los que escribiré el código de cada clase, estos deben tener la extensión .dart, por ejemplo: clase1.dart (este es el nombre del archivo) -Abrí una consola en la dirección donde tengo los archivos, y para correr cada archivo, escribo el siguiente comando en la consola: "dart clase1.dart" cabe recalcar que clase1,dart deben cambiarlo por el nombre de su archivo en caso de que tengan otro.
Aquí está el código comentado de la clase:
//Clase sobre colecciones main(List<String> args) { // * List // * Una de las colecciones más comunes en casi todos los lenguajes es el Array, // * en Dart los arreglos son objetos tipo List. // * Trabaja con index 0 y tiene muchas funciones por defecto. // List estoEsUnaLista; Forma simple de declarar una lista. List<String> estoEsUnaLista; // * Se puede declarar una lista de String de esta manera. print(estoEsUnaLista); // ! Se prueba que es un objeto, por eso sin inicializarse, su valor es null. estoEsUnaLista = []; // ! Los corchetes sin contenido, simbolizan que ya se inicializó la lista, pero sin embargo no tiene ningún valor asignado. print(estoEsUnaLista); // ? Ya no es nulo. estoEsUnaLista = ['Amarillo', 'Azul']; print(estoEsUnaLista); // ? Ahora imprime su contenido. estoEsUnaLista.add("Rojo"); // ! Este es un método para agregar contenido nuevo a la lista sin sobreescribirla. // ? Se remarca también que se pueden usar comillas simples '' o comillas dobles "" print(estoEsUnaLista); // * Tiene nuevo contenido. estoEsUnaLista.removeLast(); // ! Con este método, se elimina el último valor en la lista print(estoEsUnaLista); // ? Ya no está en la lista "Rojo". List<String> otraLista = ['Negro', 'Blanco']; // * Se pueden inicializar las listas al ser declaradas. print(otraLista); // * Contiene sus valores de inicialización estoEsUnaLista.addAll(otraLista); // ! De esta forma, estamos agregándole a la primera Lista, los valores de la segunda Lista. print(estoEsUnaLista); // ? Se puede ver los nuevos valores de la primera lista. estoEsUnaLista.removeAt(1); // ! Este es un método para eliminar objetos de una lista en un punto específico, para determinar cúal queremos borrar, usamos su index. print(estoEsUnaLista); // ? Se borró el color en el index 1 (segunda posición, debido a que la primera posición es el index 0). // * Set // * En este tipo de colección un elemento solo puede existir una vez. // * Esta no regresará en el mismo orden y por este motivo no se puede pedir por index. Set estoEsUnSet; // * Así se puede declarar un set print(estoEsUnSet); // ! Prueba de nuevo, que sin inicialización, su valor es nulo. estoEsUnSet = Set.from(['Carlos','Diego', 'Emmanuel', 'Johan']); // ! Inicializamos un Set, agregándole datos de una Lista. print(estoEsUnSet); // ? Se muestra el contenido del Set. estoEsUnSet.add('Paco'); // * Agregamos contenido igual que en una Lista, comparten este método. print(estoEsUnSet); // ? Ahora Paco forma parte del Set. estoEsUnSet.remove('Diego'); // ! Esta es la forma de eliminar contenido de un Set, podemos hacerlo específicando exctamente que queremos que se elimine de él. print(estoEsUnSet); // ? Diego ya no está más en el Set. }
y para mac? u.u
Set<String> names = {"Cristian", "David"}; print(names); // {Cristian, David}```
este curso es muy basico y hablan mucho
main(List<String> args) { List<String> list; list = ['Negro', 'Rojo']; //Agrega elementos a la lista list.add('Rosa'); print(list); //Remueve el ultimo elemento list.removeLast(); print(list); List<String> listAux = ['Azul','Verde','Amarillo']; print(listAux); //Agrega una lista a otra lista list.addAll(listAux); print(list); //Elimina con index list.removeAt(2); print(list); //No tiene orden set Set set; set = Set.from(['Pepe','Roberto','Pedro','Juan']); print(set); set.add('Erika'); print(set); //Se tiene que eliminar siempre por el nombre no con numero set.remove('Roberto'); print(set); }
Que opinan de usar dart como mi primer lenguaje para aprender a programar?
Sería espectacular, pero este curso es de un nivel medianamente avanzado, no explica todos los conceptos de programación a detalle y de la manera más entendible. Te recomiendo visitar la carrera de Fundamentos de Programación, y empezar por el Curso de Programación Básica (en el que verás algo de Javascript) para empezar a entender este maravilloso mundo, un saludo :D
Un consejo es que tomes la carrera de Fundamentos de Programación y hagas los ejercicios con Dart.
¿Cual seria la ventaja para usar uno u otra ? :/
Con los Sets tienes la ventaja de no tener valores duplicados en tu colección, los List es un arreglo donde puedes tener cualquier elemento, hasta puede tener valores duplicados.
Si en los Set te saltas el trabajo de saber si un elemento esta duplicado.
¿Se puede eliminar un elemento de un List con el nombre del valor y no con el index?
Por supuesto, ejemplo:
List list = ['rojo','blanco']; print(list); // ['rojo','blanco'] list.remove('rojo'); print(list); // ['blanco']
lo intente y no me dejó
Soy yo o a alguien más le parece muy nervioso el docente ?
Si creo que le falta ser un poco más didáctico
Dejo mi aporte, muy bueno!
main(List<String> arguments){ //Armado de list por color List<String> list; list = ['Negro','Rojo']; //Agregar en list el color Rosa list.add('Rosa'); print(list); //Remover el ultimo valor agregado en list list.removeLast(); print(list); //Agregar en list mediante otra lista, este caso Aux con los colores " Azul y verde " List<String> listAux= ['Azul','Verde']; list.addAll(listAux); print(list); //Mediante list podemos remover el valor que queramos numerando la ubicacion de ese valor ejemplo "2=Azul" list.removeAt(2); print(list); //Armado de set por nombre Set set; print(set); //Agregar valores a Set con nombres set = Set.from(['Santiago','Juan','Pedro']); print(set); //Se agrega a Set el nombre de Erika set.add('Erika'); print(set); //Se elimina de Set el nombre Santiago. set.remove('Santiago'); print(set);
Como puedo acceder a un valor declarado en el Set?
Si sabes el indice del elemento en el Set puedes usar el método elementAt https://api.dartlang.org/stable/2.2.0/dart-core/Iterable/elementAt.html o puedes usar lastWhere https://api.dartlang.org/stable/2.2.0/dart-core/Iterable/lastWhere.html
Gracias por la información.
void main() { Set set; set=Set.from(['Pedro','Gaby','Rocio','Paul']); print(set); set.add('Juan'); int longitud=set.length; print('$set, la longitud del set es: $longitud'); print(set.elementAt(0)); set.remove('Paul'); longitud=set.length; print('$set, la longitud del set es: $longitud'); } Result: {Pedro, Gaby, Rocio, Paul} {Pedro, Gaby, Rocio, Paul, Juan}, la longitud del set es: 5 Pedro {Pedro, Gaby, Rocio, Juan}, la longitud del set es: 4
Set Una colección de objetos en los que cada objeto puede aparecer solo una vez. Es decir, para cada objeto del tipo de elemento, se considera que el objeto está en el conjunto o no. Por lo general, no está permitido modificar el conjunto (agregar o eliminar elementos) mientras se realiza una operación en el conjunto, por ejemplo, durante una llamada a forEach o containsAll. Tampoco está permitido modificar el conjunto mientras itera el conjunto en sí o cualquier Iterable respaldado por el conjunto, como los que devuelven métodos como where y map. Fuente
¿Por qué estando en un curso de Dart aparece en la sección de Archivos y enlaces links sobre Kotiln?.
lo mismo me pregunté
Puede ser un pequeño error, pero tambien puedes aprender ambos lenguajes, ya que cada uno cuenta con sus propias ventajas. Saludos!
en serio que sin conocimientos previos , aqui este docente no te hace entender nada...
Recien lo estoy viendo y si, creo q va muy rápido, te recomiendo ir a "curso de programacion estructurada" es mas basico y podrás comprender mejor.
me senti así. retrocedi y empece programacion basica y regrese con dart, ya se comprende mejor
el set en su estructura se parece como un objeto json con esas llaves { }
Arreglen el audio por favor, no debería ser muy complicado. Porque así como está es muy difícil escuchar claramente lo que dice el maestro. Además de que parece grabado con un celular :c, lo demás me parece bien :)