java.util.LinkedList (como fila e como pilha)

Exemplo 1) Comparando PEEK com POP e ADD com PUSH

Neste exemplo abaixo, podemos ve que o método peek retorna o primeiro membro da coleção porem sem retirá-lo. No caso do método pop cada vez que ele ocorre é retirado um elemento da coleção.

import java.util.LinkedList;

import java.util.List;

public class LinkedListTest {

public static void main(String[] args) {

LinkedList lst = new LinkedList();

for (int i = 0; i < 100; i++) {

lst.push(i);

}

for (int i = 0; i < 100; i++) {

System.out.print(lst.peek() + ” “);

}

System.out.println();

for (int i = 0; i < 100; i++) {

System.out.print(lst.pop() + ” “);

}

}

}

Output:

99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 … 99 (peek)

99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 … 0 (pop)

Podemos verificar que o método add vai empilhando (adicionando no topo) os elementos, enquanto que o método push (acima) insere os elementos no início da pilha.

import java.util.LinkedList;

import java.util.List;

public class LinkedListTest {

public static void main(String[] args) {

LinkedList lst = new LinkedList();

for (int i = 0; i < 100; i++) {

lst.add(i);

}

for (int i = 0; i < 100; i++) {

System.out.print(lst.peek() + ” “);

}

System.out.println();

for (int i = 0; i < 100; i++) {

System.out.print(lst.pop() + ” “);

}

}

}

Output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 … 0 (peek)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 … 99 (pop)

Exemplo 2) Comparando PUSH com ADD

No exemplo abaixo podemos notar claramente a diferença entre os métodos ‘add’ e ‘push’ da LinkedList.

import java.util.*;

public class Teste {

public static void main(String[] args) {

LinkedList<String> lpush = new LinkedList<String>();

lpush.push(“pedro”);

lpush.push(“jose”);

lpush.push(“renato”);

System.out.println(lpush);

LinkedList<String> ladd = new LinkedList<String>();

ladd.add(“pedro”);

ladd.add(“jose”);

ladd.add(“renato”);

System.out.println(ladd);

}

}

Output:

[renato, jose, pedro] // push empilha

1º renato

2º jose

3º pedro

[pedro, jose, renato] // add adiciona na sequência

1º pedro

2º jose

3º renato

Resumo dos métodos

peek() 

          Retrieves, but does not remove, the head (first element) of this list.

pop() 

          Pops an element from the stack represented by this list.

O elemento é tirado da cabeça da pilha

push(E e) 

          Pushes an element onto the stack represented by this list

add(E e) 

          Appends the specified element to the end of this list.

Artigo na internet interessante

http://www.javafaq.nu/java-article1111.html

http://www.javafaq.nu/java-example-code-90.html

Esta entrada foi publicada em Arrays & Colletions com as etiquetas . ligação permanente.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s