Dart también permite al usuario manipular una colección de datos en forma de cola. Una cola es una estructura de datos FIFO (primero en entrar, primero en salir) donde el elemento que se agrega primero se eliminará primero. Toma los datos de un extremo y los elimina del otro extremo. Las colas son útiles cuando desea crear una colección de datos de tipo primero en entrar, primero en salir. Es el caso especial de la implementación de listas de datos en Dart.
Crear una cola en Dart:
Usando el constructor:
Queue variable_name = new Queue();
A través de la lista existente:
// With type notation(E) Queue<E> variable_name = new Queue<E>.from(list_name); // Without type notation var variable_name = new Queue.from(list_name);
Debe tenerse en cuenta que para usar una cola en un programa dart, debe importar el módulo ‘dart: collection’ . Si no lo hace, verá el siguiente error :
Error compiling to JavaScript: main.dart:6:3: Error: 'Queue; isn't a type Queue<String> geek = new Queue<String>(); ^^^^^ main.dart:6:28: Error: Method not found: 'Queue'. Queue<String> geek = new Queue<String>(); ^^^^^ Error: Compilation failed.
Ejemplo 1: Crear una cola a través de un constructor y luego insertar los elementos en ella.
Dart
import 'dart:collection'; void main() { // Creating a Queue Queue<String> geek = new Queue<String>(); // Printing default // value of queue print(geek); // Adding elements in a Queue geek.add("Geeks"); geek.add("For"); geek.add("Geeks"); // Printing the // inserted elements print(geek); }
Producción:
{} {Geeks, For, Geeks}
En el código anterior, queue_name.add(element) se usa para agregar los datos en la cola.
Ejemplo 2: Creación de una cola a través de una lista.
Dart
import 'dart:collection'; void main() { // Creating a List List<String> geek_list = ["Geeks","For","Geeks"]; // Creating a Queue through a List Queue<String> geek_queue = new Queue<String>.from(geek_list); // Printing the elements // in the queue print(geek_queue); }
Producción:
{Geeks, For, Geeks}
Funciones de la cola en Dart:
Dart también proporciona funciones para manipular la cola creada en el dardo. Algunas funciones importantes se enumeran en la siguiente tabla, seguidas del ejemplo para usarlas.
No Señor. |
Sintaxis de la función |
Descripción de la función |
---|---|---|
1. |
nombre_cola .add(elemento) | Agrega el elemento dentro de la cola desde el frente. |
2. |
nombre_cola .addAll(nombre_colección) |
Agrega todos los elementos presentes en el nombre_colección (generalmente Lista). |
3. |
nombre_cola .addFirst(elemento) | Agrega el elemento desde el frente dentro de la cola. |
4. |
nombre_cola .addLast(elemento) | Agrega el elemento desde atrás en la cola. |
5. |
nombre_cola .clear() | Elimina todos los elementos de la cola. |
6. |
nombre_cola .first() | Devuelve el primer elemento de la cola. |
7. |
nombre_cola .forEach(f(elemento)) | Devuelve todos los elementos presentes en la cola. |
8. |
nombre_cola .isEmpty | Devuelve booleano verdadero si la cola está vacía; de lo contrario, devuelve falso. |
9. |
nombre_cola .longitud | Devuelve la longitud de la cola. |
10 |
nombre_cola .removeFirst() | Elimina el primer elemento de la cola. |
11 |
nombre_cola .removeLast() | Elimina el último elemento de la cola. |
Ejemplo: Uso de varias funciones en Queue en Dart.
Dart
import 'dart:collection'; void main() { // Creating a Queue Queue<String> geek = new Queue<String>(); // Printing default // value of queue print(geek); // Adding a element // and displaying it geek.add("Geeks"); print(geek); // Adding multiple // element and displaying it List<String> geek_data = ["For","Geeks"]; geek.addAll(geek_data); print(geek); // Deleting all the // data from queue geek.clear(); print(geek); // Checking if the // queue is empty or not print(geek.isEmpty); // Adding first element geek.addFirst("Geeks"); print(geek); //Adding Last element geek.addLast("For"); geek.addLast("Geeks"); print(geek); // Checking length of the queue print(geek.length); // Removing First // Element from queue geek.removeFirst(); print(geek); // Removing Last // element from queue geek.removeLast(); print(geek); // Displaying all the // elements of the queue geek.forEach(print); }
Producción:
{} {Geeks} {Geeks, For, Geeks} {} true {Geeks} {Geeks, For, Geeks} 3 {For, Geeks} {For} For
Publicación traducida automáticamente
Artículo escrito por aditya_taparia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA