Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Not the fastest runtime solution probably, but the fastest I could come up with that seems to work. Create an Index class and use it as a key for a SortedMap, like:</p> <pre><code> SortedMap&lt;Index, Object&gt; entries = new TreeMap&lt;Index, Object&gt;(); entries.put(new Index(1, 4), "1-4"); entries.put(new Index(5555555555l, 767777777777l), "5555555555l-767777777777l"); System.out.println(entries.size()); System.out.println(entries.get(new Index(1, 4))); System.out.println(entries.get(new Index(5555555555l, 767777777777l))); </code></pre> <p>My Index class looks like this (with some help from Eclipse code generator).</p> <pre><code>public static class Index implements Comparable&lt;Index&gt; { private long x; private long y; public Index(long x, long y) { super(); this.x = x; this.y = y; } public int compareTo(Index index) { long ix = index.x; if (ix == x) { long iy = index.y; if (iy == y) { return 0; } else if (iy &lt; y) { return -1; } else { return 1; } } else if (ix &lt; x) { return -1; } else { return 1; } } public int hashCode() { final int PRIME = 31; int result = 1; result = PRIME * result + (int) (x ^ (x &gt;&gt;&gt; 32)); result = PRIME * result + (int) (y ^ (y &gt;&gt;&gt; 32)); return result; } public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final Index other = (Index) obj; if (x != other.x) return false; if (y != other.y) return false; return true; } public long getX() { return x; } public long getY() { return y; } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload