Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Остальные коллекции Java: Коллекции

Коллекции, реализующие интерфейс Map

// Класс LinkedHashMap

Map<String, String> linkedHashMap = new LinkedHashMap<>();
linkedHashMap.put("Egor", "Yakovlev");
linkedHashMap.put("Max", "Maximov");
linkedHashMap.put("Ivan", "Ivanov");

System.out.println(linkedHashMap);
// => {Egor=Yakovlev, Max=Maximov, Ivan=Ivanov}


// Класс TreeMap
Map<Integer, List<String>> treeMap = new TreeMap<>(Comparator.reverseOrder());
treeMap.put(23, List.of("Victor", "Ivan"));
treeMap.put(18, List.of("Eugene"));
treeMap.put(40, List.of("Anna", "Henry", "Igor"));

System.out.println(treeMap);
// => {40=[Anna, Henry, Igor], 23=[Victor, Ivan], 18=[Eugene]}

treeMap.put(35, List.of("Vera"));
System.out.println(treeMap);
// => {40=[Anna, Henry, Igor], 35=[Vera], 23=[Victor, Ivan], 18=[Eugene]}

Коллекции, реализующие интерфейс Set

// Класс HashSet

Set<String> set = new HashSet<>();
set.add("Egor");
set.add("Max");
set.add("Ivan");

System.out.println(set); // => [Egor, Max, Ivan]
System.out.println(set.size()); // => 3

Set<Item> itemSet = new HashSet<>();
itemSet.add(new Item(1, "Зубная щетка", 100));
itemSet.add(new Item(2, "Замороженная пицца", 200));
itemSet.add(new Item(3, "Мороженое", 100));

System.out.println(itemSet);
// => [
// =>     Item{id=1, name='Зубная щетка', cost=100},
// =>     Item{id=2, name='Замороженная пицца', cost=200},
// =>     Item{id=3, name='Мороженое', cost=100}
// => ]

itemSet.add(new Item(1, "Пельмени", 300));
System.out.println(itemSet);
itemSet.add(new Item(4, "Пельмени", 300));

System.out.println(itemSet);
// => [
// =>    Item{id=1, name='Зубная щетка', cost=100},
// =>    Item{id=2, name='Замороженная пицца', cost=200},
// =>    Item{id=3, name='Мороженое', cost=100},
// =>    Item{id=4, name='Пельмени', cost=300}
// => ]

// Класс LinkedHashSet

Set<Item> itemLinkedHashSet = new LinkedHashSet<>();
itemLinkedHashSet.add(new Item(1, "Зубная щетка", 100));
itemLinkedHashSet.add(new Item(2, "Замороженная пицца", 200));
itemLinkedHashSet.add(new Item(3, "Мороженое", 100));
System.out.println(itemLinkedHashSet);
// => [
// =>    Item{id=1, name='Зубная щетка', cost=100},
// =>    Item{id=2, name='Замороженная пицца', cost=200},
// =>    Item{id=3, name='Мороженое', cost=100}
// => ]

// Класс TreeSet
Set<Item> itemTreeSet = new TreeSet<>();
itemTreeSet.add(new Item(1, "Зубная щетка", 100));
itemTreeSet.add(new Item(2, "Замороженная пицца", 200));
itemTreeSet.add(new Item(3, "Мороженое", 50));
System.out.println(itemTreeSet);

Класс Item

public class Item {
    private Integer id;
    private String name;
    private Integer cost;

    public Item(Integer id, String name, Integer cost) {
        this.id = id;
        this.name = name;
        this.cost = cost;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getCost() {
        return cost;
    }

    public void setCost(Integer cost) {
        this.cost = cost;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof Item)) {
            return false;
        }
        Item item = (Item) o;
        return Objects.equals(getId(), item.getId());
    }

    @Override
    public int hashCode() {
        return Objects.hash(getId());
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("Item{");
        sb.append("id=").append(id);
        sb.append(", name='").append(name).append('\'');
        sb.append(", cost=").append(cost);
        sb.append('}');
        return sb.toString();
    }
}

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Java-разработчик
Профессия
с нуля
Разработка приложений на языке Java
2 февраля 10 месяцев

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»