Exercícios Resolvidos de Java: Listas e Collections
Classificado em Computação
Escrito em em português com um tamanho de 2,63 KB.
1. Dado o programa abaixo, escrito em Java:
package atividadeA1;
import java.util.ArrayList;
import java.util.Collection;
public class Questao1 {
public static void main(String[] args) {
Collection x = new ArrayList();
Collection y = new ArrayList();
for (int i = 1; i < 7; i++) {
x.add(i + 2);
}
for (int i = 1; i < 4; i++) {
x.remove(i);
}
for (int j = 0; j < 3; j++) {
y.add(j + 10);
}
x.addAll(y);
System.out.print(x.toString());
}
}
Após a execução, será impresso no console: [3, 4, 5, 6, 10, 11, 12]
2. Dado o programa abaixo, escrito em Java:
package atividadeA1;
import java.util.ArrayList;
import java.util.Collection;
public class Questao2 {
public static void main(String[] args) {
Collection x = new ArrayList();
for (int i = 1; i < 11; i++) {
x.add(i + 5);
}
for (int i = 1; i < 6; i++) {
x.remove(i);
}
System.out.print(x.toString());
}
}
Após a execução, será impresso no console: [6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
3. Considere uma lista duplamente ligada, conforme exemplo abaixo:
Escrever uma função chamada somaUltimos()
que irá retornar o valor correspondente à soma dos 2 últimos valores armazenados na lista. Obs.: Caso a lista tenha menos de 2 nós, a função deve retornar nulo. Assuma que os dados armazenados em cada nó da lista são valores inteiros.
public Integer somaUltimos() {
if (this.size < 2) {
System.out.println("lista contém menos de 2 nós....");
return null;
}
return this.tail.item + this.tail.prev.item;
}
4. Considere uma lista Circular, conforme exemplo abaixo:
Escrever uma função chamada retornaMaximo()
que irá retornar o maior valor armazenado na lista. Obs.: Caso a lista seja vazia, a função deve retornar nulo. Assuma que os dados armazenados em cada nó da lista são valores inteiros.
public Integer retornaMaximo() {
Integer maximo = 0;
if (this.size == 0) {
System.out.println("Lista vazia...");
return null;
} else {
DListNode p = this.head.next;
maximo = p.item;
while (p.next != this.head) {
p = p.next;
if (p.item > maximo)
maximo = p.item;
}
return maximo;
}
}