diff --git a/patterns/java/TopKElements.java b/patterns/java/TopKElements.java
index c84c391..15946b1 100644
--- a/patterns/java/TopKElements.java
+++ b/patterns/java/TopKElements.java
@@ -126,7 +126,9 @@ private int getDistance(int[] point) {
 
     public int[][] kClosestPointsToOriginMaxHeapApproach(int[][] points, int k) {
         // Max heap with custom comparator to compare by distance
-        PriorityQueue<int[]> maxHeap = new PriorityQueue<>((a, b) -> getDistance(b) - getDistance(a));
+        PriorityQueue<int[]> maxHeap = new PriorityQueue<>(
+            (a, b) -> Integer.compare(getDistance(b), getDistance(a))
+        );
 
         // Iterate through all points
         for (int[] point : points) {
@@ -146,4 +148,4 @@ public int[][] kClosestPointsToOriginMaxHeapApproach(int[][] points, int k) {
 
         return result;
     }
-}
\ No newline at end of file
+}