Java LinkedHashSet
Вступление
LinkedHashSet - это упорядоченная версия HashSet, которая поддерживает двусвязный список для всех элементов. Используйте этот класс вместо HashSet, если вам важен порядок итераций. Когда вы перебираете HashSet, порядок непредсказуем, а LinkedHashSet позволяет перебирать элементы в том порядке, в котором они были вставлены. При циклическом переходе через LinkedHashSet с помощью итератора элементы будут возвращены в том порядке, в котором они были вставлены. ,
Конструкторы LinkedHashSet
LinkedHashSet () // Конструктор по умолчанию LinkedHashSet (Collection c) // Создает LinkedHashSet из коллекции c LinkedHashSet (intacity) // создает LinkedHashSet с указанием начальной емкости LinkedHashSet (intacity, float loadFactor) // Это создает LinkedHashSet с емкостью и коэффициентом загрузки
Методы LinkedHashSet
метод | Цель |
---|---|
public boolean add (Object o) | Добавляет объект в LinkedHashSet, если он уже отсутствует в HashSet. |
public boolean удалить (Объект o) | Удаляет объект из LinkedHashSet, если он найден в HashSet. |
public boolean содержит (объект o) | Возвращает true, если объект найден, иначе возвращает false |
public boolean isEmpty () | Возвращает true, если LinkedHashSet пуст, иначе возвращает false |
public int size () | Возвращает количество элементов в LinkedHashSet |
Java-код: перейти к редактору
import java.util.LinkedHashSet;
public class LinkedHashSetDemo {
public static void main(String[] args) {
LinkedHashSet<String> linkedset = new LinkedHashSet<String>();
// Adding element to LinkedHashSet
linkedset.add("Maruti");
linkedset.add("BMW");
linkedset.add("Honda");
linkedset.add("Audi");
linkedset.add("Maruti"); //This will not add new element as Maruti already exists
linkedset.add("WalksWagon");
System.out.println("Size of LinkedHashSet=" + linkedset.size());
System.out.println("Original LinkedHashSet:" + linkedset);
System.out.println("Removing Audi from LinkedHashSet: " + linkedset.remove("Audi"));
System.out.println("Trying to Remove Z which is not present: "
+ linkedset.remove("Z"));
System.out.println("Checking if Maruti is present=" + linkedset.contains("Maruti"));
System.out.println("Updated LinkedHashSet: " + linkedset);
}
}
Выход:
Мы можем использовать объект Iterator для перебора нашей коллекции. Во время итерации мы можем добавлять или удалять объекты из коллекции. Ниже программа демонстрирует использование итератора в коллекции LinkedHashSet.
Java-код:
package linkedHashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
public class LinkedHashSetIterator {
public static void main(String[] args) {
Set<String> myCricketerSet = new LinkedHashSet<String>();
myCricketerSet.add("Ashwin");
myCricketerSet.add("Dhoni");
myCricketerSet.add("Jadeja");
myCricketerSet.add("Bravo");
myCricketerSet.add("Hussy");
myCricketerSet.add("Morkal");
myCricketerSet.add("Vijay");
myCricketerSet.add("Raina");
Iterator<String> setIterator = myCricketerSet.iterator();
while(setIterator.hasNext()){
System.out.println(setIterator.next());
}
}
Выход:
Резюме:
- LinkedHashSet предоставляет коллекцию уникальных объектов
- LinkedHashSet является несортированным и неиндексированным классом коллекции
- Итерация в LinkedHashSet соответствует порядку вставки
Редактор кода Java:
Предыдущая: Java TreeSet
Далее: Java Карты
Новый контент: Composer: менеджер зависимостей для PHP , R программирования