Автор оригинала: Pankaj Kumar.
Опубликуйте Краткое содержание:
- Вступление
- Java SE 8: Пустой Неизменяемый список
- Java SE 9: Пустой Неизменяемый список
- Java SE 8: Непустой Неизменяемый список
- Java SE 9: Непустой Неизменяемый список
- Характеристики неизменяемого списка
Вступление
Корпорация Oracle собирается выпустить новую версию Java: Java SE 9 примерно в марте 2017 года. Итак, я хотел бы опубликовать серию сообщений о новых функциях Java SE 9. Это мой четвертый пост в этой серии.
Я уже опубликовал пару сообщений о новых функциях Java SE 9. Прежде чем просматривать эти сообщения, пожалуйста, прочтите их ниже:
- Java SE 9 ОТВЕТОВ
- Java SE 9: Частные методы в интерфейсе
- Java SE 9: “var” для локальных переменных
В этом посте мы обсудим еще одну новую функцию Java SE 9: “Заводские методы для неизменяемого списка” с некоторыми простыми и подходящими примерами.
Java SE 8: Пустой Неизменяемый список
В Java SE 8 и более ранних версиях, если мы хотим создать пустой Неизменяемый или неизменяемый список, мы должны использовать метод утилиты класса коллекций: Неизменяемый список , как показано ниже:
Пример:-
ListemptyList = new ArrayList<>(); List immutableList = Collections.unmodifiableList(emptyList);
ПРИМЕЧАНИЕ:- Оператор Diamond не работает в Java SE 6 и более ранних версиях. Остальная часть кода одинакова для всех версий Java.
Протестируйте приведенный выше код в Java SE 9 ОТВЕТ:
Здесь мы можем заметить, что для создания пустого Неизменяемого списка нам нужно сделать много вещей, как показано выше. Это очень утомительная и многословная вещь, правильно. Давайте теперь посмотрим то же самое в Java SE 9.
ПРИМЕЧАНИЕ:- Для простоты и быстрого тестирования я использую Java SE 9 REPL (оболочка). Вот почему нам нужен ответ для каждого языка, чтобы быстро протестировать новую функцию без большой работы.
Java SE 9: Пустой Неизменяемый список
Чтобы преодолеть эти недостатки, Java SE 9 представила несколько полезных методов в интерфейсе списка, чтобы нам не нужно было использовать все эти утомительные шаги для создания неизменяемого пустого списка.
Если мы пройдем через API списка Java SE 9, мы сможем найти нижеприведенную подпись метода в интерфейсе списка.
staticList of()
Он используется для создания пустого Неизменяемого списка (списка с нулевыми элементами).
Пример:-
ListimmutableList = List.of();
Протестируйте приведенный выше код в Java SE 9 ОТВЕТ:
Здесь мы можем заметить, что в Java SE 9 очень легко создать пустой неизменяемый список.
Java SE 8: Непустой Неизменяемый список
Теперь мы увидим, как создать Непустой Неизменяемый список в Java SE 8 и более ранних версиях.
Пример:-
Listlist = new ArrayList<>(); list.add("one"); list.add("two"); list.add("three"); List immutableList = Collections.unmodifiableList(list);
Здесь также мы можем заметить, что для создания непустого Неизменяемого списка нам нужно сделать много вещей и очень утомительных и подробных шагов. Давайте теперь посмотрим то же самое в Java SE 9.
Java SE 9: Непустой Неизменяемый список
Чтобы преодолеть эти недостатки, Java SE 9 представила следующие полезные перегруженные методы.
Эти полезные методы используются для создания нового неизменяемого списка с одним элементом до 10 элементов:
staticList of(E e1) static List of(E e1,E e2) static List of(E e1,E e2,E e3) static List of(E e1,E e2,E e3,E e4) static List of(E e1,E e2,E e3,E e4,E e5) static List of(E e1,E e2,E e3,E e4,E e5,E e6) static List of(E e1,E e2,E e3,E e4,E e5,E e6,E e7) static List of(E e1,E e2,E e3,E e4,E e5,E e6,E e7,E e8) static List of(E e1,E e2,E e3,E e4,E e5,E e6,E e7,E e8,E e9) static List of(E e1,E e2,E e3,E e4,E e5,E e6,E e7,E e8,E e9,E e10)
Ниже приведен метод VarArgs (метод с переменным числом аргументов).:
staticList of(E... elements)
Пример:-
ListimmutableList = List.of("one","two","three");
Это очень просто и без многословия в этом коде правильно. Очень хорошая штука!
Протестируйте приведенный выше код в Java SE 9 ОТВЕТ:
jshell> ListimmutableList = List.of("one","two","three") immutableList ==> [one, two, three]
Характеристики неизменяемого списка
Как мы знаем, Неизменяемые списки не поддаются изменению (неизменяемые коллекции). В этом разделе мы обсудим характеристики ImmutableList(они одинаковы во всех версиях Java).:
- Они Неизменны.
- Мы не можем добавлять, изменять и удалять их элементы.
- Если мы попытаемся выполнить над ними операции добавления/удаления/обновления, мы получим исключение UnsupportedOperationException, как показано ниже:
- Они не допускают нулевых элементов.
- Если мы попытаемся создать их с нулевыми элементами, мы получим исключение NullPointerException, как показано ниже:
- Если мы попытаемся добавить нулевые элементы, мы получим исключение UnsupportedOperationException, как показано ниже:
- Они сериализуемы, если все элементы сериализуемы.
Вот и все о концепции “Java SE 9: Заводские методы для неизменяемого списка”. Мы обсудим еще несколько новых функций Java SE 9 в моих следующих постах.
Пожалуйста, напишите мне комментарий, если вам нравится мой пост или у вас есть какие-либо вопросы/предложения/ошибки типа.
Спасибо, что прочитали мои учебные пособия.
Счастливого обучения Java SE 9!