-1
我正在用javafx編寫一個程序,用於讀取2015年溫哥華房產稅報告中的數據並將其可視化。它採用csv格式。如何計算特定時間間隔內的物品數量?
我想算性質的間隔時間內,通過$ 25,000個定數。例如,最低價值爲10萬美元,從那裏增加25000美元。整個數據集的最大財產價值約爲10億美元。我排除了開關和ifs,因爲我認爲這需要很長時間才能完成。
有沒有在Java中較短的方法可以做到這一點?我使用Java 8
我正在用javafx編寫一個程序,用於讀取2015年溫哥華房產稅報告中的數據並將其可視化。它採用csv格式。如何計算特定時間間隔內的物品數量?
我想算性質的間隔時間內,通過$ 25,000個定數。例如,最低價值爲10萬美元,從那裏增加25000美元。整個數據集的最大財產價值約爲10億美元。我排除了開關和ifs,因爲我認爲這需要很長時間才能完成。
有沒有在Java中較短的方法可以做到這一點?我使用Java 8
您可以創建一個數組(或者更好的是,一個地圖),它保存每個房子的計數。
例如,使用一個數組:
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
}
}
開始通過這個http://stackoverflow.com/help/how-to-ask – 2017-02-10 18:16:14
你的問題還不是很清楚,但所有你需要的是一個Map < Integer,Integer>,其中鍵是間隔的下限(100,000,125,000,150,000等),並且該值是該間隔的計數。對於每個屬性,刪除它的模值(假設157,000)除以25,000(從而導致下限150,000),並增加相應的計數。 –
@JBNizet感謝您的回覆?你能告訴我什麼不清楚嗎?我想在將來避免這個錯誤。在當前的土地價值欄中,大約有20萬行數據。我想在一定的時間間隔內計算屬性的數量。我認爲使用ifs和switch會很耗時,所以我想知道是否有更有效的方式搜索這些間隔。 –