Рубрики
Без рубрики

Java SE 9: Заводские методы для неизменяемого набора

Краткое содержание публикации: Введение Java SE 8: Неизменяемый пустой набор Java SE 9: Неизменяемый пустой набор Java SE 8: Неизменяемый непустой набор Java SE 9:

Автор оригинала: Pankaj Kumar.

Опубликуйте Краткое содержание:

  • Вступление
  • Java SE 8: Неизменяемый Пустой Набор
  • Java SE 9: Неизменяемый Пустой Набор
  • Java SE 8: Неизменяемый непустой Набор
  • Java SE 9: Неизменяемый непустой Набор
  • Java SE 9: Неизменяемый Непустой Набор С Переменными Аргументами

Вступление

Корпорация Oracle собирается выпустить новую версию Java: Java SE 9 примерно в марте 2017 года. Итак, я хотел бы опубликовать серию сообщений о новых функциях Java SE 9. Это мой шестой пост в этой серии.

Я уже опубликовал пару сообщений о новых функциях Java SE 9. Прежде чем перейти к этому сообщению, пожалуйста, прочтите их. Это продолжение моего предыдущего поста: Java SE 9: Заводские методы для неизменяемого списка .

В этом посте мы обсудим еще одну новую функцию Java SE 9: “Заводские методы для неизменяемого набора” с некоторыми простыми и подходящими примерами.

Java SE 8: Неизменяемый Пустой Набор

В Java SE 8 и более ранних версиях, если мы хотим создать пустой Неизменяемый или неизменяемый набор, мы должны использовать метод утилиты класса коллекций: Неизменяемый набор , как показано ниже:

Пример Пустого Набора:-

 Set emptySet = new HashSet<>();
 Set immutableSet = Collections.unmodifiableSet(emptySet);

Здесь мы можем заметить, что это очень утомительный и многословный процесс. Давайте теперь посмотрим то же самое в Java SE 9.

ПРИМЕЧАНИЕ:- Оператор Diamond НЕ работает в Java SE 6 и более ранних версиях. Остальная часть кода одинакова для всех версий Java.

Java SE 9: Неизменяемый Пустой Набор

Чтобы преодолеть эти недостатки, Java SE 9 представила несколько полезных методов в интерфейсе набора, чтобы нам не нужно было использовать все эти утомительные шаги для создания неизменяемого пустого набора.

Если мы пройдем через API набора Java SE 9, мы сможем найти нижеприведенную сигнатуру метода в интерфейсе набора. Утилита API пустого набора

 static  Set of()

Он используется для создания пустого неизменяемого набора (набора с нулевыми элементами).

Пример Пустого Набора:-

 Set immutableSet = Set.of();

Здесь мы можем заметить, что очень легко создать пустой неизменяемый набор в Java SE 9.

Java SE 8: Неизменяемый непустой Набор

В этом разделе мы рассмотрим, как создать Неизменяемый Непустой набор в Java SE 8 и более ранних версиях. Мы используем тот же метод unmodifiableSet из класса Collections для создания неизменяемого непустого набора, как показано ниже:

Пример Непустого Набора:-

 Set nonemptySet = new HashSet<>();
 nonemptySet.add("one");
 nonemptySet.add("two");
 nonemptySet.add("three");
 Set immutableSet = Collections.unmodifiableSet(nonemptySet);

ПРИМЕЧАНИЕ:- Оператор Diamond НЕ работает в Java SE 6 и более ранних версиях. Остальная часть кода одинакова для всех версий Java.

Здесь мы можем заметить, что это очень утомительный и многословный процесс. Давайте теперь посмотрим то же самое в Java SE 9.

Java SE 9: Неизменяемый непустой Набор

В этом разделе мы рассмотрим, как создать Неизменяемый Непустой набор в версии Java SE 9. Если мы пройдем через API интерфейса Java SE 9 Set, мы увидим набор перегруженных методов, как показано ниже:

Непустая утилита API набора

static  Set of(E e1)
static  Set of(E e1,E e2)	
static  Set of(E e1,E e2,E e3)
static  Set of(E e1,E e2,E e3,E e4)
static  Set of(E e1,E e2,E e3,E e4,E e5)	
static  Set of(E e1,E e2,E e3,E e4,E e5,E e6)	
static  Set of(E e1,E e2,E e3,E e4,E e5,E e6,E e7)	
static  Set of(E e1,E e2,E e3,E e4,E e5,E e6,E e7,E e8)	
static  Set of(E e1,E e2,E e3,E e4,E e5,E e6,E e7,E e8,E e9)	
static  Set of(E e1,E e2,E e3,E e4,E e5,E e6,E e7,E e8,E e9,E e10)

Пример Непустого Набора:-

 Set immutableSet = Set.of("one","two","three");

Это очень просто и без многословия в этом коде правильно. Очень хорошая штука!

Протестируйте приведенный выше код в Java SE 9 ОТВЕТ:

jshell> Set immutableSet = Set.of("one","two","three")
immutableSet ==> [one, two, three]

Здесь мы можем заметить, что в Java SE 9 очень легко создать непустой неизменяемый набор.

Java SE 9: Неизменяемый Непустой Набор С Переменными Аргументами

Корпорация Oracle представила еще один метод Set.of() с синтаксисом Varargs. Ниже приведен метод VarArgs (метод с переменным числом аргументов), используемый для создания непустого неизменяемого набора в Java SE 9:

static  Set of(E... elements)  

Он используется для создания неизменяемого набора с массивом элементов, как показано ниже:

Пример Непустого Набора:-

 String[] nameArr =  { "one", "two", "three"};
 Set set= Set.of(nameArr);

Проверьте это с помощью ответа Java SE 9:

jshell> String[] nameArr =  { "one", "two", "three"}
nameArr ==> String[3] { "one", "two", "three" }

jshell> Set set = Set.of(nameArr);
set ==> [[Ljava.lang.String;@56ef9176]

jshell> set
set ==> [[Ljava.lang.String;@56ef9176]

Здесь мы создали Неизменяемый набор с массивом строковых элементов.

ПРИМЕЧАНИЕ:- Характеристики неизменяемого набора аналогичны Неизменяемому списку. Вы можете найти эту информацию подробно здесь: Java SE 9: Заводские методы для неизменяемого списка .

Вот и все о концепции “Java SE 9: заводские методы для неизменяемого набора”. Мы обсудим еще несколько новых функций Java SE 9 в моих следующих постах.

Пожалуйста, напишите мне комментарий, если вам нравится мой пост или у вас есть какие-либо вопросы/предложения/ошибки типа.

Спасибо, что прочитали мои учебные пособия.

Счастливого Обучения Java SE 9!