diff --git a/src/main/java/org/apache/datasketches/tuple/SketchIterator.java b/src/main/java/org/apache/datasketches/tuple/SketchIterator.java
index 7453dd8..614112f 100644
--- a/src/main/java/org/apache/datasketches/tuple/SketchIterator.java
+++ b/src/main/java/org/apache/datasketches/tuple/SketchIterator.java
@@ -57,19 +57,6 @@
    * retained. Don't call this before calling next() for the first time
    * or after getting false from next().
    * @return hash from the current entry
-   * @deprecated v2.0.0. Please use {@link #getHash()}
-   */
-  @Deprecated
-  public long getKey() {
-    return hashArrTbl_[i_];
-  }
-
-  /**
-   * Gets the hash from the current entry in the sketch, which is a hash
-   * of the original key passed to update(). The original keys are not
-   * retained. Don't call this before calling next() for the first time
-   * or after getting false from next().
-   * @return hash from the current entry
    */
   public long getHash() {
     return hashArrTbl_[i_];
diff --git a/src/test/java/org/apache/datasketches/tuple/adouble/AdoubleIntersectionTest.java b/src/test/java/org/apache/datasketches/tuple/adouble/AdoubleIntersectionTest.java
index 2861a66..ee01687 100644
--- a/src/test/java/org/apache/datasketches/tuple/adouble/AdoubleIntersectionTest.java
+++ b/src/test/java/org/apache/datasketches/tuple/adouble/AdoubleIntersectionTest.java
@@ -112,7 +112,6 @@
     final SketchIterator<DoubleSummary> it = result.iterator();
     Assert.assertTrue(it.next());
     Assert.assertTrue(it.getHash() > 0);
-    Assert.assertTrue(it.getKey() > 0);
     Assert.assertEquals(it.getSummary().getValue(), 4.0);
     Assert.assertFalse(it.next());
 
