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;
    }
}

Entradas relacionadas: