INGENIERIA DE SISTEMAS ESTRUCTURAS DE DATOS COLAS Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción se realiza por un extremo y la operación de extracción por el otro. También se llama estructura FIFO (del inglés First in First Out). Debido a que el primer elemento en entrar será también el primero en salir. Las colas se utilizan en sistemas informáticos, transportes e investigación de operaciones (entre otros), dónde los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para su posterior procesamiento. La Interfaz Queue.de JAVA La interfaz java.util.Queue es un subtipo de la interfaz de java.util.Collection. Representa una lista ordenada de objetos como una lista, pero su uso es un poco diferente. Es la estructura cola y está diseñada para que los elementos sean insertados al final de la cola, y los elementos eliminados sean los del principio de la cola. Las cuatro funciones de Queue son: add remove Peek isEmpty Inserta al final un nuevo elemento en la cola Elimina y devuelve el primer elemento de la cola Permite saber que elemento esta al principio de la cola Permite saber si la cola está o no vacia Ejemplos: Programa que inserta 5 datos en una cola y posteriormente visualiza los mismos import java.util.*; public class colas1 { public static void main(String[] args) { Scanner en=new Scanner(System.in); Queue <Integer> cola=new LinkedList(); for(int i=0;i<5;i++) cola.add(en.nextInt()); while(!cola.isEmpty()) System.out.print(cola.remove()); } } Programa que permite insertar N palabras en una cola y posteriormente visualiza los mismos import java.util.Scanner; import java.util.Queue; import java.util.LinkedList; public class colas2 { public static void main(String args[]){ Scanner en=new Scanner(System.in); Queue <String> cola=new LinkedList(); int N=en.nextInt(); for(int i=0;i<N;i++) cola.add(en.next()); while(!cola.isEmpty()) System.out.print(cola.remove()+" "); } } INGENIERIA DE SISTEMAS ESTRUCTURAS DE DATOS Programa que permite insertar N Alumnos que una cola y posteriormente visualiza los mismos. public class Alumno { private String nombre; private int nota; Alumno(String n,int no){ nombre=n; nota=no; } String getNombre(){ return nombre; } int getNota(){ return nota; } } import java.util.Scanner; import java.util.Queue; import java.util.LinkedList; public class colas3 { public static void main(String args[]){ Scanner en=new Scanner(System.in); Queue <Alumno> cola=new LinkedList(); Alumno a; int N=en.nextInt(); for(int i=0;i<N;i++){ a=new Alumno(en.next(),en.nextInt()); cola.add(a); } while(!cola.isEmpty()) System.out.println(cola.remove().getNombre()); } }