Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
23 Авг 2024
2 мин
75

Эквивалент C++ Pair<L,R> в Java

Есть моменты, когда в процессе разработки программного обеспечения на Java возникает потребность хранить пару значений. В C++, для этих целей обычно используется

Есть моменты, когда в процессе разработки программного обеспечения на Java возникает потребность хранить пару значений. В C++, для этих целей обычно используется Pair<L,R>. Но у Java нет встроенного аналога этого класса, что может вызвать некоторое замешательство.

Пример ситуации

Представим ситуацию, в которой требуется хранить пару значений — имя и возраст человека. В C++, это можно легко сделать с помощью Pair<string, int>, но в Java такой опции нет.

Решение

В Java есть несколько вариантов реализации хранения пары значений. Один из них — это использование класса AbstractMap.SimpleEntry<K,V>. Этот класс представляет пару ключ/значение и может использоваться для этой цели.

AbstractMap.SimpleEntry&lt;String, Integer&gt; pair = new AbstractMap.SimpleEntry&lt;&gt;("John", 25);

Здесь «John» — это ключ, а 25 — значение. Ключ и значение могут быть любых типов.

Однако, этот подход может показаться сложным и избыточным, поскольку класс AbstractMap.SimpleEntry<K,V> предназначен в основном для работы с картами, а не для хранения просто пары значений.

Альтернативное решение

Более простым и понятным решением может быть создание собственного класса Pair. Это не так сложно, как может показаться на первый взгляд.

public class Pair&lt;L, R&gt; {
    private final L left;
    private final R right;

    public Pair(L left, R right) {
        this.left = left;
        this.right = right;
    }

    public L getLeft() {
        return left;
    }

    public R getRight() {
        return right;
    }
}

Этот класс Pair может хранить любые два значения (слева и справа). Использование этого класса также достаточно просто:

Pair&lt;String, Integer&gt; pair = new Pair&lt;&gt;("John", 25);

Таким образом, хотя в Java нет встроенного аналога C++ Pair<L,R>, есть несколько способов реализации хранения пары значений, среди которых можно выбрать наиболее подходящий.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий