このスレッドのように、Java クラスのインターフェイスを使用するというアドバイスについて少し混乱しています: Java クラスのインターフェイスを優先する必要があるのはなぜですか?
インターフェイスを使用したい理由は理解できます。後で何かが変更された場合、クリーンアップするコードが少なくて済みます。
しかし、Interface を使用すると、そもそもその特定のクラスを選択したパフォーマンス上の理由を利用できなくなる場合はありませんか?
たとえば、TreeMap がある場合、最大でも O(logn) で任意の要素を見つけることができるはずだと思います。そのため、higherEntry()、lowerEntry()、lastEntry() など、私が利用できる優れたメソッドがあります。
代わりにこの TreeMap を Map として参照すると、O(n) のリストを一度に 1 つの要素を繰り返し処理して、そのエントリを見つける必要があると思います。
私は Java を初めて使用するので、ここで何か不足している場合はお知らせください。