Метод singletonList
Метод singletonList класса Collections создает
неизменяемый список, состоящий ровно из одного элемента.
В единственный параметр мы передаем элемент, который должен
попасть в создаваемый список. Полученный список нельзя
изменять: в него нельзя добавлять новые элементы, удалять
их или заменять существующий. Такой список удобно
использовать, когда нужно передать в метод коллекцию
из одного элемента.
Синтаксис
Collections.singletonList(element)
Пример
Давайте создадим список из одного элемента и выведем его в консоль:
import java.util.Collections;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<String> res = Collections.singletonList("abcde");
System.out.println(res);
}
}
Результат выполнения кода:
["abcde"]
Пример
Давайте получим размер такого списка через
метод size:
import java.util.Collections;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<Integer> res = Collections.singletonList(1);
System.out.println(res.size());
}
}
Результат выполнения кода:
1
Пример
Попытка изменить такой список приводит к исключению
UnsupportedOperationException. Давайте в этом убедимся:
import java.util.Collections;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<String> res = Collections.singletonList("abcde");
res.add("12345");
}
}
Результат выполнения кода:
Exception in thread "main" java.lang.UnsupportedOperationException
Пример
Список из одного элемента удобно передавать в методы,
принимающие коллекцию. Давайте передадим его в метод
Collections.frequency и посчитаем, сколько раз
элемент встречается в списке:
import java.util.Collections;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<String> res = Collections.singletonList("abcde");
int count = Collections.frequency(res, "abcde");
System.out.println(count);
}
}
Результат выполнения кода:
1
Смотрите также
-
класс
Collections,
который содержит методы для работы с коллекциями -
метод
emptyList,
который создает пустой неизменяемый список -
метод
unmodifiableList,
который делает список неизменяемым -
метод
nCopies,
который создает список из нескольких копий элемента