我对使用 Java 类的接口的建议有点困惑,就像在这个线程中一样:为什么应该首选 Java 类的接口?
我理解您为什么要使用该界面:如果稍后发生更改,您需要清理的代码就会减少。
但是,在某些情况下,使用接口会阻止您利用性能原因,您首先选择该特定类吗?
例如,如果我有一个 TreeMap,我假设我应该能够在最多 O(logn) 中找到任何元素。这就是为什么它有我可以利用的好方法,比如higherEntry()、lowerEntry()、lastEntry()。
如果我改为将此 TreeMap 引用为 Map,现在我相信我不得不通过 O(n) 中的列表一次迭代一个元素来定位该条目。
我是 Java 新手,所以如果我在这里遗漏了什么,请告诉我。