Pair add to map
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Pair.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Pair.java
index 88fdd0b..4693989 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Pair.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Pair.java
@@ -18,35 +18,45 @@
package org.apache.jena.atlas.lib;
-import static org.apache.jena.atlas.lib.Lib.hashCodeObject ;
-import static org.apache.jena.atlas.lib.StrUtils.str ;
+import static org.apache.jena.atlas.lib.Lib.hashCodeObject;
+import static org.apache.jena.atlas.lib.StrUtils.str;
+import java.util.Map;
import java.util.Objects;
+/** A pair */
public class Pair<A, B>
{
- public static <L, R> Pair<L,R> create(L x, R y) { return new Pair<>(x,y) ; }
+ public static <L, R> Pair<L,R> create(L x, R y) { return new Pair<>(x,y); }
- final A a ;
- final B b ;
- public Pair(A a, B b) { this.a = a; this.b = b ; }
+ final A a;
+ final B b;
+ public Pair(A a, B b) { this.a = a; this.b = b; }
- public A getLeft() { return a ; }
- public B getRight() { return b ; }
+ public A getLeft() { return a; }
+ public B getRight() { return b; }
- public A car() { return a ; }
- public B cdr() { return b ; }
+ public A car() { return a; }
+ public B cdr() { return b; }
- @Override
- public int hashCode()
- {
- return hashCodeObject(car()) ^ hashCodeObject(cdr())<<1 ;
+ /** Add to a map using the pair as key-value. */
+ public static <L, R> void addToMap(Map<L, R> map, Pair<L, R> pair) {
+ map.put(pair.getLeft(), pair.getRight());
+ }
+
+ /** Add to a map using this pair as key-value. */
+ public void addToMap(Map<A, B> map) {
+ map.put(getLeft(), getRight());
}
@Override
- public boolean equals(Object other)
- {
- if ( this == other ) return true ;
+ public int hashCode() {
+ return hashCodeObject(car()) ^ hashCodeObject(cdr())<<1;
+ }
+
+ @Override
+ public boolean equals(Object other){
+ if ( this == other ) return true;
// If it's a pair of a different <A,B> then .equals
// Pair<A,B>(null,null) is equal to Pair<C,D>(null ,null)
@@ -56,14 +66,14 @@
if ( !(other instanceof Pair<? , ? > p2) )
return false;
- return Objects.equals(car(), p2.car()) && Objects.equals(cdr(), p2.cdr()) ;
+ return Objects.equals(car(), p2.car()) && Objects.equals(cdr(), p2.cdr());
}
/** Test whether the arguments are equal to the elements of this pair */
public boolean equalElts(A left, B right) {
- return Objects.equals(car(), left) && Objects.equals(cdr(), right) ;
+ return Objects.equals(car(), left) && Objects.equals(cdr(), right);
}
@Override
- public String toString() { return "("+str(a)+", "+str(b)+")" ; }
+ public String toString() { return "("+str(a)+", "+str(b)+")"; }
}