Duas variáveis podem se referir ao mesmo ArrayList em Java?
A classe ArrayList em Java é basicamente um array redimensionável, ou seja, pode aumentar e diminuir de tamanho dinamicamente de acordo com os valores que adicionamos a ele. Ele está presente no pacote java.util .
Sintaxe:
ArrayList<E> list = new ArrayList<>();
Uma ArrayList em java pode ser instanciada uma vez com a ajuda da palavra-chave 'new' e pode ser referenciada por vários objetos / variáveis.
A figura acima mostra como o objeto 'list' aponta para o ArrayList dentro da memória. Agora vamos ver como podemos fazer outro objeto apontar para o mesmo ArrayList instanciado acima.
Sintaxe: Duas variáveis se referem à mesma ArrayList:
ArrayList<Integer> secondList = list;
Agora, quando atribuída a 'lista' à 'secondList', a 'secondList' também começa a apontar para a mesma ArrayList dentro da memória. Observe aqui simplesmente criar uma nova instância. Agora, para uma melhor compreensão, vamos mergulhar no código e ver alguns exemplos.
Abaixo está a implementação da declaração do problema:
// Java program to show how two objects can
// refer to same ArrayList in Java
import java.util.ArrayList;
public class GFG {
public static void main(String[] args)
{
// Creating an ArrayList of Integer type in Java
ArrayList<Integer> list = new ArrayList<>();
// Creating a new ArrayList object and making it
// refer to the first ArrayList(list)
ArrayList<Integer> secondList = list;
// Inserting some Integer values to the
// arrayList using list variable/object
list.add(17);
list.add(10);
list.add(1);
list.add(33);
list.add(2);
// ArrayList after insertions : [17, 10, 1, 33, 2]
// Displaying the ArrayList
System.out.print("ArrayList after insertions: ");
display(list);
// Modifying the ArrayList using secondList
// Removing element from index 0
secondList.remove(0);
// Inserting Integer variables
secondList.add(51);
secondList.add(99);
// ArrayList after modifications using
// secondList: [10, 1, 33, 2, 51, 99]
// Displaying the ArrayList
System.out.print(
"ArrayList after modifications using secondList: ");
display(list);
}
// Function to display an ArrayList
public static void display(ArrayList<Integer> list)
{
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i) + " ");
}
System.out.println();
}
}
ArrayList após as inserções: 17 10 1 33 2 ArrayList após modificações usando secondList: 10 1 33 2 51 99
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva