Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Não entendi Collections.singletonList()

Não entendi este método Collections.singletonList() de Collections. Será que vocês poderiam enviar um exemplo fazendo uso deste método para exemplificar?

3 respostas

O papel do Collections.nCopies() é retornar uma lista imutável que contém n cópias de determinado objeto. Esse método ajuda se queremos criar uma lista com n cópias de um determinado objeto. O objeto de dados recém-alocado é pequeno, ou seja, contém uma única referência ao objeto de dados.

public static <T> List<T> nCopies(número int, T objeto)

onde, número é o número de cópias e objeto representa o elemento que aparecerá o número de vezes na lista retornada. T representa o tipo genérico.

Por exemplo:

public static void main(String... args) {
        List<String> list = Collections.nCopies(3, "a");
        System.out.println(list);
    }

Saída:

[a, a, a]

Entendi o Collections.nCopies(). Muito obrigado pela explicação, Otávio. Mas como funciona o Collections.singletonList(). Será que tem como fazer um exemplo também, por favor?

solução!

O método singletonList() da classe java.util.Collections é usado para retornar uma lista imutável que contém apenas o objeto especificado. Uma lista de singleton contém apenas um elemento, se você tentar adicionar um segundo elemento, o método add() lança UnsupportedOperationException:

public class CollectionsSingleton {

public static void main(String args[]) {

List numList = Collections.singletonList(new Integer(10)); 

System.out.println("numList elements: " + numList);

// numList.add(20);       // throws UnsupportedOperationException

List stringList = Collections.singletonList("hello"); 
System.out.println("\nstringList elements: " + stringList);

//  stringList.add("world"); // throws UnsupportedOperationException

} }