java - 使用两个比较器的最佳方法是什么?

标签 java inner-classes comparator

我目前有以下结构用于获取一段时间内的 OHLC 数据

class MarketDataItem{
    ....

    static class DateComparator implements Comparator<MarketDataItem>{

    }

    static class PriceComparator implements Comparator<MarketDataItem> {

    }   
}

class MarketDataGroup{
    private TreeSet<MarketDataItem> sortedByDate = Sets.newTreeSet(new MarketDataItem.DateComparator());
    private TreeSet<MarketDataItem> sortedByPrice = Sets.newTreeSet(new MarketDataItem.PriceComparator());  

}

将比较器放在 marketDataItem 或 marketDataGroup 中更好/更好/更快/更少内存吗?

最佳答案

这没什么区别——它们是静态嵌套类,所以就好像它们是完全独立的类型一样。不同类的可访问性存在差异,但效率应该是一样的。

关于java - 使用两个比较器的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4195389/

相关文章:

java - 如何在 Struts 2 中使用 achor 标签发送值

java - Apache Camel 不在源文件夹中保留文件

java - 如何修复非静态变量 this 无法从具有内部类的静态类引用?

java - 创建对象时"Non-static variable this cannot be referenced from a static context"

java - 没有警告的通用接口(interface)比较器

java - 为什么 Collections.sort 可以不带比较器而 List.sort 必须带比较器?

c# - 对象序列化——从 C# 或 java 到 Objective C

java - 无法将按钮文本设置为 "<<<"

java - 内部类对象

algorithm - 排序网络中的比较器列表