Você está aqui: Java ::: Pacote java.util ::: Collections, Coleções |
Como criar uma ArrayList somente leitura em Java usando Collections.unmodifiableList()Quantidade de visualizações: 614 vezes |
Nesta dica mostrarei como podemos usar o método unmodifiableList() da classe Collections para criar e retornar uma ArrayList somente leitura, ou seja, que não permite modificação de seus itens. Note que o argumento para o método Collections.unmodifiableList() é um objeto da interface List, e o retorno do método também é um objeto List. Veja o código completo para o exemplo: package estudos; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Estudos{ public static void main(String args[]){ // vamos criar uma ArrayList de linguagens de programação ArrayList<String> linguagens = new ArrayList<>(); // vamos adicionar quatro linguagens linguagens.add("Java"); linguagens.add("Python"); linguagens.add("Delphi"); linguagens.add("Perl"); // vamos mostrar o conteúdo do ArrayList System.out.println("Conteúdo do ArrayList: " + linguagens); // vamos modificar o segundo elemento linguagens.set(1, "Ruby"); System.out.println("Novo conteúdo do ArrayList: " + linguagens); // agora vamos criar uma ArrayList somente leitura List<String> somenteLeitura = Collections.unmodifiableList(linguagens); Ao executar este código Java nós teremos o seguinte resultado: Conteúdo do ArrayList: [Java, Python, Delphi, Perl] Novo conteúdo do ArrayList: [Java, Ruby, Delphi, Perl] A segunda ArrayList é somente leitura mesmo Exception in thread "main" java.lang.UnsupportedOperationException at java.util.Collections$UnmodifiableList.set(Collections.java:1311) at estudos.Estudos.main(Estudos.java:37) Note o erro java.lang.UnsupportedOperationException ao tentarmos modificar o conteúdo da segunda ArrayList. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Java - Apostila de Java - Como retornar uma substring em Java usando o método substring() da classe String |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |