繁体   English   中英

高效的 Java 集合分析来自具有数百万条记录的 CSV 文件的输入

[英]Efficient Java Collection to analyse the inputs from CSV file with millions of records

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

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

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

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

如果您想按一个参数排序,TreeSet 将是有效的。 你可以

  1. 创建一个 class 像:
    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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM