Коллекция Set — это коллекция, состоящая из серии неупорядоченных, неповторяющихся элементов одного и того же типа. При сохранении данных сначала необходимо определить значение hashCode ее элементов, и если оно отличается, оно будет сохранено.
1) Коллекция Set является подклассом коллекции Collection.
2) Коллекция, не содержащая повторяющихся элементов.
3) Индексированного метода нет, поэтому его нельзя пройти с помощью обычного цикла for.
add(Object element) : добавляет указанный элемент в конец коллекции Set.
удалить (элемент объекта) : если указанный элемент существует в коллекции Set, удалите элемент из коллекции Set.
Clear() : удалить все элементы из коллекции Set.
isEmpty() : определяет, есть ли элементы в коллекции Set. Если он не вернет true, он вернет false.
contains(Object element) : определяет, содержит ли коллекция Set указанный элемент, возвращает true, если есть, и возвращает false, если нет.
iterator() : возвращает объект итератора (Iterator), который используется для обхода коллекции.
size() : возвращает количество элементов в коллекции Set, возвращаемое значение имеет тип int.
Например:
importjava.util.HashSet;importjava.util.Set;publicclassMain{publicstaticvoidmain(String[]args){Setset=newHashSet();Stringb=B;//Добавляем элементы в набор set.add(A);set.add( b);set.add(C);set.add(b);set.add(D);set.add(b);set.add(E);//Распечатываем количество элементов набора System.out. println (set size=+set.size());//Распечатываем набор System.out.println(set);//Удаляем первый элемент "B" в наборе set.remove(b);//Определяем, есть ли набор содержит элемент "B" System.out.println (если он содержит B: +set.contains(b) // Определяем, является ли набор пустым System.out.println (набор набора пуст); : +set.isEmpty());//Очистить коллекцию set.clear();System.out.println(set);}}
Результаты бега следующие:
Содержит ли набор size=5[A,b,C,D,E] B: falseset. Набор пуст: false[]
Хэш-значение — это значение класса int, рассчитанное JDK на основе адреса или номера u-го элемента. Существует способ получить хеш-значение в классе Object: public int hashCode() возвращает хеш-значение. .
Характеристики хеш-значений объектов следующие:
1) Хэш-значение, возвращаемое методом hashCode(), одинаково при многократном вызове одного и того же объекта.
2) По умолчанию хэш-значения разных объектов разные, но вы можете сделать хэш-значения одинаковыми, переопределив метод hashCode.
Примечание . Разные строки имеют одинаковое значение хеш-функции, поскольку String переопределяет метод hashCode, например «Chongdi» и «Call», оба значения хеш-функции равны 1179395.