我正在javafx编写一个程序,用于读取和显示2015年温哥华房产税报告中的数据。它采用csv格式。
我想计算间隔内的属性数量,增加$ 25,000。例如,最小值为100,000美元,从那里增加25,000美元。整个数据集中的最大属性值约为十亿美元。我排除了开关和ifs,因为我认为这需要很长时间才能完成。
java中有一个更短的方法可以做到这一点吗?我使用的是Java 8。
答案 0 :(得分:1)
你可以创建一个数组(或者更好的是,一张地图)来保存每个房子的数量。
例如,使用数组:
int[] houseArray = new int[1+((max_house_value-100000)/25000)];
for (int price : houses_price_array){
if (price < 100000){
houseArray[0] += 1;
} else {
houseArray[((price-100000)/25000)+1] += 1;//int rounds down, need +1
}
}