gpt4 book ai didi

java - java中大量整数流的统计

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:22:27 25 4
gpt4 key购买 nike

我正在从文件中读取大量整数,最后我想从这些整数(中位数、均值、25thpercentile、75thpercentile 等)中获取一些基本统计数据。我可以随时计算其中一些统计数字,但在我看来,计算第 25/75 个百分位数会很复杂。我认为最简单的方法是将整数放在一个列表中,然后从该列表中进行统计。但是,由于列表太大,可能会因为使用太多内存而减慢程序的速度。你们有什么建议吗?这是我获取数据的方式和我想到的两个选项:

Scanner input = new Scanner(new File("name"));
ArrayList<Integer> lits= new ArrayList<Integer>();
while(input.hasNextLine()){
list.add(Integer.parseInt(input.nextLine()));
}
doStatistics(list);

Scanner input = new Scanner(new File("name"));
while(input.hasNextLine()){
//I dont know how I would acomplish this for the percentile stats
acqquireStats(Integer.parseInt(input.nextLine()));
}

最佳答案

鉴于值的数量明显小于样本的数量,存储每个值的数量比相反更有意义。

Long[] samples = new Long[101];

while(input.hasNextLine()){
try{
samples[Math.max(0, Math.min(100, Integer.parseInt(input.nextLine())))];
} catch (ParseException e){/*not a number*/}
}

这给您留下了仅由一个小数组表示的大量数据。

关于java - java中大量整数流的统计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11038207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com