Kami memiliki kumpulan objek, setiap objek memiliki ID integer dan stempel waktu. Kami ingin dapat mencari duplikat dan memperbarui koleksi berdasarkan ID.
Namun kami juga ingin dapat mengambil "sepotong" dari koleksi tersebut, misalnya menemukan setiap objek dengan stempel waktu setelah waktu tertentu. Jadi kami juga ingin mengurutkan berdasarkan stempel waktu.
Kami menggunakan TreeMap, yang pada awalnya tampak memberikan apa yang kami inginkan. Namun karena TreeMap (dan semua yang berasal dari SortedSet) hanya menggunakan bandingkanTo() dan mengabaikan metode sama dengan(), kami menemukan bahwa pencarian duplikat berdasarkan ID tidak berhasil. Metode bandingkanTo() kami mencoba mengizinkan kedua kondisi (mencari berdasarkan ID ATAU stempel waktu) tetapi pada akhirnya berukuran besar dan jelek serta tidak benar-benar berfungsi. :)
Koleksi ini bisa saja bertambah sangat banyak, jadi tentunya kita ingin mencari/menyortir/memasukkan secepat mungkin.