Como criar uma nova lista em Java

Hassan Saeed 12 outubro 2023
  1. Criar uma Nova Lista Vazia em Java
  2. Crie uma nova lista não vazia em Java
  3. Criar uma Lista Não-Vazia de Tamanho Fixo em Java
Como criar uma nova lista em Java

Este tutorial irá discutir métodos para criar diferentes tipos de listas em Java.

List em Java é uma interface e é implementada por ArrayList, LinkedList, Vector e Stack. Ela fornece uma coleção ordenada de objetos. O usuário tem controle preciso sobre onde na lista cada elemento é inserido. O usuário pode acessar elementos por seu índice inteiro (posição na lista) e procurar por elementos na lista. Além disso, as Listas também permitem que elementos duplicados sejam armazenados.

Criar uma Nova Lista Vazia em Java

Como a List é uma interface, não podemos criar um objeto de Lista diretamente. Entretanto, podemos criar objetos das classes que implementam a interface Listar: Lista de Array, Lista de links, Vetor e Stack. Aqui está uma maneira simples:

List myArrayList = new ArrayList();
List myLinkedList = new LinkedList();
List myVector = new Vector();
List myStack = new Stack();

Estes tipos de Listas não têm um tipo de dado específico e podem conter qualquer tipo de objetos e valores. Vamos tentar criá-las em Java e adicionar alguns valores a elas.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    // ArrayList
    List myArrayList = new ArrayList();
    myArrayList.add(1);
    myArrayList.add(2);
    myArrayList.add("three");
    System.out.println("ArrayList: " + myArrayList);

    // LinkedList
    List myLinkedList = new LinkedList();
    myLinkedList.add(4);
    myLinkedList.add(5);
    myLinkedList.add("six");
    System.out.println("LinkedList: " + myLinkedList);

    // Stack
    List myStack = new Stack();
    myStack.add(7);
    myStack.add(8);
    myStack.add("nine");
    System.out.println("Stack: " + myStack);
  }
}

Os códigos acima resulta:

ArrayList: [1, 2, three]
LinkedList: [4, 5, six]
Stack: [7, 8, nine]

Podemos ver que adicionamos valores int e String às listas sem nenhum erro.

É possível especificar o tipo de dados de modo que somente valores desse tipo em particular possam ser armazenados. Vamos tentar outro exemplo.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    // ArrayList
    List<Integer> myArrayList = new ArrayList<>();
    myArrayList.add(1);
    myArrayList.add(2);
    myArrayList.add("three");
    System.out.println("ArrayList: " + myArrayList);
  }
}

O código acima resulta no seguinte erro.

> /myClass.java:9: error: incompatible types: String cannot be converted to Integer
>         myArrayList.add("three");

É porque ao criar o objeto ArrayList, especificamos o tipo de dados a ser Integer; portanto, ele não aceitará nenhum outro tipo de dados.

Crie uma nova lista não vazia em Java

Discutimos como criar objetos da Lista vazia e depois adicionar objetos à lista. Agora vamos ver outra maneira de criar uma Lista com objetos dentro dela.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    List<String> list = new ArrayList<String>() {
      {
        add("a");
        add("b");
      }
    };
    System.out.println("ArrayList: " + list);
  }
}

O código acima sai:

ArrayList: [a, b]

Criar uma Lista Não-Vazia de Tamanho Fixo em Java

Também podemos criar uma lista não vazia de tamanho fixo. Se assim for, operações como add, remove não serão suportadas.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    List<Integer> list = Arrays.asList(1, 2);
    System.out.println("ArrayList: " + list);
  }
}

O código acima sai:

ArrayList: [1, 2]

Vamos ver o que acontece se tentarmos adicionar outro elemento a esta lista.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    List<Integer> list = Arrays.asList(1, 2);
    list.add(3);
    System.out.println("ArrayList: " + list);
  }
}

O código acima dá o seguinte erro, pois não permite operações como add, remove etc:

> Exception in thread "main" java.lang.UnsupportedOperationException
> 	at java.base/java.util.AbstractList.add(AbstractList.java:153)
> 	at java.base/java.util.AbstractList.add(AbstractList.java:111)
> 	at myClass.main(myClass.java:6)

Entretanto, você pode alterar o valor em qualquer posição neste tipo de lista.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    List<Integer> list = Arrays.asList(1, 2);
    System.out.println("Initial ArrayList: " + list);
    list.set(1, 3);
    System.out.println("Changed ArrayList: " + list);
  }
}

O código acima sai:

Initial ArrayList: [1, 2]
Changed ArrayList: [1, 3]

Agora sabemos como criar diferentes tipos de Listas em Java.

Artigo relacionado - Java List