【问题标题】:Efficient Java Collection to analyse the inputs from CSV file with millions of records高效的 Java 集合,用于分析具有数百万条记录的 CSV 文件的输入
【发布时间】:2021-04-24 21:58:43
【问题描述】:

假设我有一个 csv 文件,其中包含以下格式的证券交易所信息:时间戳、名称、价格、数量、帐户、买入/卖出。 该文件可能有数百万条记录,代表当天的交易活动。 该文件未排序,我需要选择最佳的 Java 集合来保存这些数据,以便有效地提供分析。

分析例如: 1) 最畅销的股票 2) 交易量最大的账户 3) 在一个时间范围内购买的最高数量的股票。 4) 交易量最高的前 K 人。

基本上我需要根据不同的字段对这个列表进行多次排序。

所以经过一番搜索后,我发现基于树的集合最适合这个用例。像 TreeMap 。有没有其他更好的合集?

【问题讨论】:

    标签: java data-structures collections


    【解决方案1】:

    如果你想按一个参数排序,TreeSet 会很有效。 你可以

    1. 创建一个类似的类:
        public class Record {
            Calendar timeStamp;
            String name;
            double price;
            //...
        }
    
    1. 为每个任务创建比较器

    2. 创建一个 LinkedList(或其他集合)

        List <Record> records=new LinkedList();
    
    1. 使用您的比较器
        records.sort(yourComparator1);
        records.sort(yourComparator2);
        records.sort(yourComparator3);
    

    【讨论】:

      猜你喜欢
      • 2013-01-06
      • 1970-01-01
      • 1970-01-01
      • 2015-09-27
      • 2014-04-05
      • 1970-01-01
      • 1970-01-01
      • 2023-01-31
      • 1970-01-01
      相关资源
      最近更新 更多