From 4563ce766a070b65abc705541dcd10e15c0836fc Mon Sep 17 00:00:00 2001 From: Kaley Date: Thu, 26 Dec 2024 13:56:50 +0100 Subject: [PATCH] introduce Tuple --- .../java/org/comroid/api/func/util/Tuple.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/main/java/org/comroid/api/func/util/Tuple.java diff --git a/src/main/java/org/comroid/api/func/util/Tuple.java b/src/main/java/org/comroid/api/func/util/Tuple.java new file mode 100644 index 0000000..802e8a9 --- /dev/null +++ b/src/main/java/org/comroid/api/func/util/Tuple.java @@ -0,0 +1,32 @@ +package org.comroid.api.func.util; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Objects; + +public interface Tuple { + @Data + @NoArgsConstructor + @AllArgsConstructor + class N2 implements Tuple { + public A a; + public B b; + + @Override + public final int hashCode() { + return Objects.hash(a, b); + } + + @Override + public final boolean equals(Object obj) { + return obj instanceof N2 other && other.hashCode() == hashCode(); + } + + @Override + public String toString() { + return "( %s , %s )".formatted(a, b); + } + } +}