Интерфейс
java.util.set является подтипом интерфейса
java.util.Collections . Он представляет собой набор объектов, каждый из которых может существовать только один раз. Интерфейс set содержит только методы, унаследованные от
Collections.
Реализации Set
Платформа Java имеет 3 реализации Set. Вы можете выбрать одну из следующих коллекций объектов:
- java.util.HashSet
- java.util.TreeSet
- java.util.LinkedHashSet
Каждая из этих реализаций хранит элементы в хэш-таблице. Это лучшая реализация, но она отличается, когда дело доходит до сканирования набора и порядка элементов, а также времени доступа и изменений в этих списках. Экземпляры множеств сопоставимы, несмотря на их различия, две реализации равны, если они содержат одни и те же элементы.
HashSet возвращается значением HashMap. Нет никакой гарантии, что последовательность будет соблюдаться во время курса.
TreeSet упорядочить элементы в соответствии со значениями, а не с помощью ключей, что немного медленнее, чем HashTable.
LinkedList упорядочить элементы на основе порядка во время insert.
Вот несколько примеров того, как создать Set:
Set hset = new HashSet();
Set tset = new TreeSet();
Set lset = new LinkedHashSet();
Basic Set
1)void add(Object o)Добавляет элемент в коллекцию. Этот метод унаследован от интерфейса
Collection.
Set hset = new HashSet();
hset.add(new String("1"));
hset.add(new String("2"));
2)boolean remove(Object o)Удаляет конкретный элемент из коллекции. Если он существует, он возвращает логическое значение true.
hset.remove("1");
3)Итератор iterator()Возвращает итератор на Set.
Set hset = new HashSet();
Итератор итератора = hset.iterator();
while(iterator.hasNext(){
Строковый элемент = (Строка) iterator.next();
}
4)Int size()Возвращает количество элементов в наборе Set.
System.out.println(hset.size());
Generic объявление Set
Objects может быть добавлено по умолчанию в set
Набор но можно ограничить тип объекта, который вы хотите вставить, в Set:
Set< Строка> set = новый HashSet< Строка> ();
Этот оператор принимает только объекты String. Преимущество заключается в том, что вы можете использовать и напрямую обращаться к
Set without cast:
for(String Object : set){
//do something
}
References:
Java Collection: setJavadoc: Установите интерфейс