Коллекция пар значений Java? (кортежи?)

Класс Pair - один из тех jre примеров универсальных шаблонов, которые java достаточно легко написать jdk самостоятельно. Например, из j2se головы:

public class Pair {

  private final L left;
  private final R right;

  public Pair(L left, R right) {
    assert left != null;
    assert right != null;

    this.left = left;
    this.right = right;
  }

  public L getLeft() { return left; }
  public R getRight() { return right; }

  @Override
  public int hashCode() { return left.hashCode() ^ right.hashCode(); }

  @Override
  public boolean equals(Object o) {
    if (!(o instanceof Pair)) return false;
    Pair pairo = (Pair) o;
    return this.left.equals(pairo.getLeft()) &&
           this.right.equals(pairo.getRight());
  }

}

И да, это существует jre во многих местах в сети, с openjdk разной степенью полноты и j2se функциональности. (Мой пример java выше предназначен для неизменяемости.)

java

2022-11-17T20:28:44+00:00