【发布时间】:2020-06-23 12:33:52
【问题描述】:
在我的一次采访中,有人问我
Comparable 和 Comparable 之间的性能差异是什么? 比较器?
我回答说我不知道。面试官说,
如果 Comparable 由类 Employee 实现,则为 5000 Employee 对象被创建并添加到一个 ArrayList 中,会有 5000 个对象,在堆内存中有 compareTo 方法。所以除非 绝对必要,不要使用 Comparable。与比较器, 上面提到的内存开销被消除了。
他说的对吗?
【问题讨论】:
-
那是……错了……类上的其他方法并不意味着该方法的实例需要更多内存。
-
我同意约阿希姆的观点。该方法在类上,而不是在单个对象上。实际上,最好使用 Comparable 接口并将 Comparator 用于您无法控制的对象,或者如果您正在执行异常的复杂比较。
标签: java performance collections comparator comparable