dir.by  
Поиск >>

Компьютер, программы
→
Java
→
Java (class, interface, collections, и т.д.)
 class LinkedHashSet в Java 
посмотрели 1360 раз
обновлено: 9 октября 2026
class LinkedHashSet<E>   реализует   interface Set<E>

LinkedHashSet реализация такая же, как HashSet, и дополнительно поддерживает двойно связанный список, проходящий через все его элементы. Этот связанный список гарантирует порядок элементов в наборе.

class LinkedHashSet не синхронизирован. Если несколько потоков одновременно обращаются к LinkedHashSet, и хотя бы один из потоков изменяет LinkedHashSet, то LinkedHashSet необходимо синхронизировать. Обычно это синхронизация, делается следующим образом:
Set mySet1 = Collections.synchronizedSet( new LinkedHashSet(...) );

 
  Java  
class LinkedHashSet<E> extends HashSet<E> implements Set<E>, Cloneable, Serializable
{
     // Constructors
     LinkedHashSet()    
     LinkedHashSet(Collection<? extends E> c)    
     LinkedHashSet(int initialCapacity)    
     LinkedHashSet(int initialCapacity, float loadFactor)

     // Methods
     Spliterator<E> spliterator()

     // Methods inherited from class java.util.HashSet
     boolean add(E e)
     void clear()
     Object clone()
     boolean contains(Object o)
     boolean isEmpty()
     Iterator<E> iterator()
     boolean remove(Object o)
     int size()

     // Methods inherited from class java.util.AbstractSet
     boolean equals(Object o)
     int hashCode()
     boolean removeAll(Collection<?> c)

     // Methods inherited from class java.util.AbstractCollection
     boolean addAll(Collection<? extends E> c)
     boolean containsAll(Collection<?> c)
     boolean retainAll(Collection<?> c)
     Object[] toArray()
     <T> T[] toArray(T[] a)
     String toString()

     // Methods inherited from class java.lang.Object
     void finalize()
     Class<?> getClass()
     void notify()
     void notifyAll()
     void wait()
     void wait(long timeout)
     void wait(long timeout, int nanos)

     // Methods inherited from interface java.util.Set
     boolean add(E e)
     boolean addAll(Collection<? extends E> c)
     void clear()
     boolean contains(Object o)
     boolean containsAll(Collection<?> c)
     boolean equals(Object o)
     int hashCode()
     boolean isEmpty()
     Iterator<E> iterator()
     boolean remove(Object o)
     boolean removeAll(Collection<?> c)
     boolean retainAll(Collection<?> c)
     int size()
     Object[] toArray()
     <T> T[] toArray(T[] a)

     // Methods inherited from interface java.util.Collection
     Stream<E> parallelStream()
     boolean removeIf(Predicate<? super E> filter)
     Stream<E> stream()

     // Methods inherited from interface java.lang.Iterable
     void forEach(Consumer<? super T> action)
}


Подробнее о методах в Java документации:https://docs.oracle.com ...
class LinkedHashSet[<]E[>] extends HashSet<E> implements SequencedSet<E>, Cloneable, java.io.Serializable {

public LinkedHashSet(int initialCapacity, float loadFactor) {
super(initialCapacity, loadFactor, true);
}

public LinkedHashSet(int initialCapacity) {
super(initialCapacity, .75f, true);
}

// Constructs a new, empty linked hash set with the default initial capacity (16) and load factor (0.75).
public LinkedHashSet() {
super(16, .75f, true);
}

@SuppressWarnings("this-escape")
public LinkedHashSet(Collection<? extends E> c) {
super(HashMap.calculateHashMapCapacity(Math.max(c.size(), 12)), .75f, true);
addAll(c);
}

@Override
public Spliterator<E> spliterator() {
return Spliterators.spliterator(this, Spliterator.DISTINCT | Spliterator.ORDERED);
}

public static <T> LinkedHashSet<T> newLinkedHashSet(int numElements) {
if (numElements < 0) {
throw new IllegalArgumentException("Negative number of elements: " + numElements);
}
return new LinkedHashSet<>(HashMap.calculateHashMapCapacity(numElements));
}

LinkedHashMap<E, Object> map() {
return (LinkedHashMap<E, Object>) map;
}

public void addFirst(E e) {
map().putFirst(e, PRESENT);
}

public void addLast(E e) {
map().putLast(e, PRESENT);
}

public E getFirst() {
return map().sequencedKeySet().getFirst();
}

public E getLast() {
return map().sequencedKeySet().getLast();
}

public E removeFirst() {
return map().sequencedKeySet().removeFirst();
}

public E removeLast() {
return map().sequencedKeySet().removeLast();
}
}
 
← Предыдущая тема
class HashSet<E> в Java
 
Следующая тема →
Collections.singletonList("Hello") возвращает неизменяемый список, содержащий ровно один указанный элемент | Java collection
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

 
Скачать и установить
• Установка JDK (скачиваем и устанавливаем библиотеку Java для Windows)
• Скачать и установить IntelliJ IDEA для изучения Java, Spring, Jakarta EE | Функциональность и отличия: Community | Ultimate
• Error "JDK is missing" | Java
Java (class, interface, collections, и т.д.)
• Создание простого консольного приложения в IntelliJ IDEA для изучения Java
• Модификаторы доступа (private, protected, public) для класса и для методов, полей. | Java
• Коллекции в Java
• interface List<E> в Java
• class ArrayList<E> в Java
• class Vector<E> в Java
• class Stack<E> в Java
• class CopyOnWriteArrayList<E> в Java
• interface Queue<E> в Java
• interface Deque<E> в Java
• class LinkedList<E> в Java
• interface Set в Java
• class HashSet<E> в Java
• class LinkedHashSet<E> в Java
• Collections.singletonList("Hello") возвращает неизменяемый список, содержащий ровно один указанный элемент | Java collection
• class Collections (все функции, алгоритмы) | Java
• stream.filter(...) выбираем элементы по своему критерию | Java collection | Пример: allCars.stream().filter(item -> item.Price < 30000).toList()
• Что такое interface в Java ?
• Прямо в коде (во время выполнения) делаем имплементацию для interface | Java
• Потоки в Java
• lambda это безымянный метод (нет имени и не принадлежит классу) | Java
• Исключения и обработка в Java. Пример: try {...} catch (Exception e) {...}
• Зачем использовать throws Exception в названии функциии в Java ? Ответ: метод создает исключение и нет обработки try catch. Пример: float CalculateDensity(float mass, float volume) throws Exception { ... throw new Exception("Error! Volume is zero."); ... }
Java web приложение (сервлет, jsp страница, основная функциональность и без фрэймворков)
• Создаем новое простое web приложение (jsp web страница) | Java, Maven
• Создаем web сервлет (сервлет находится на веб-сервере, по запросу возвращает результат) | Java
• Установка Tomcat web server (скачиваем и устанавливаем для Windows)
• Проверяем, тестируем Tomcat web server (создаем новый my.hml файл)
• Что такое Maven
• Что такое динамическая web страница jsp (Java Server Page) ?
• Как инсталировать Smart Tomcat plugin в Intellij Idea
• Ошибка "The SDK is not specified for module ... | Project SDK is not defined ..." в IntelliJ IDEA | Java
Spring в Java (Spring Framework, Spring Data, Spring Boot, ...)
• Что такое Spring? Зачем в Java использовать Spring?
• Что такое Spring Bean? Что такое Spring Container? IoC (inversion of control) | Создание простого Spring проекта и конфигурациия Spring Container в XML файле | Редактор IntelliJ Idea и язык Java
• Что такое Dependency Injection в Spring? Создание простого Spring проекта с Dependency Injection в конструкторе с атрибутами @Component, @Autowired | Редактор IntelliJ Idea и язык Java
• Создаем новое Spring Web приложение (запрос идет в Controller → Controller создает ответ как текст или json) | Java, Spring Web, Spring Boot, Maven
• Создаем новое Spring WebSocket приложение (Java WebSocket шлет сообщение к JavaScript WebSocket) | Java, Spring WebSocket, Spring Boot, Maven
• Создаем Azure Web App с типом Java (бесплатно). То есть создаем пустой web server
• Java Spring web приложение кладем в Azure
• К приложению Azure Web App (Java) соединяемся через FTP | используем File Explorer
• Ошибка "The SDK is not specified for module ... | Project SDK is not defined ..." в IntelliJ IDEA | Java, Spring Boot
• Как инсталировать Spring WebSocket plugin в Intellij Idea
Jakarta EE / Java EE в Java (web приложения, web сервисы)
• Что такое Jakarta EE (Java EE) ? | В каком редакторе (программе) удобно писать Jakarta EE (Java EE) код?
• Создание простого web-проекта в IntelliJ Idea Ultimate | Jakarta EE (Java EE)
Struts на Java (расширяет API Java Servlet используя MVC)
• Что такое Struts | Java
Курсы, обучение
• Курс "Java-разработчик" от Yandex
Собеседование
• Собеседования на Java

  Ваши вопросы присылайте по почте: info@dir.by