[英]Java, Hashmap,Data Type Conversion
我將讀取一個包含文本文件(總計7GB)的文件夾(wiki-pmi),並將其放入哈希圖中。 文本文件的每一行都像:地球物理刻度0.1321
我寫了以下代碼:
HashMap<String,Double> pmi = new HashMap<String,Double>();
File folder = new File("wiki-pmi");
String line;
File[] listofFiles = folder.listFiles();
for(File file: listofFiles)
{
if(file.isFile())
{
BufferedReader br1 = new BufferedReader(new FileReader(file));
while((line=br1.readLine())!=null)
{
String[] split=line.split(" ");
pmi.put(split[0]+ ","+ split[1], Double.parseDouble(split[2]));
}
}
}
但是,在Eclipse上運行后,出現以下錯誤:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at NLP.main(NLP.java:30)
指向(java:30)指向
pmi.put(split[0]+ ","+ split[1], Double.parseDouble(split[3]));
我想我無法從String類型轉換為Double類型,對嗎?
首先,在地圖上放置一個容量:
HashMap<String,Double> pmi = new HashMap<String,Double>(2000);
默認容量為16,每次需要增加時都會增加一倍(16..32..64..128..256 .......)。
將所有內容加載到地圖中不是一個好主意,您應該使用一個臨時數據庫。
關於轉換和優化,您可以給出示例行嗎?
Split [3]超出范圍。由於您的字符串拆分功能將返回大小為3的數組,其中startIndex = 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.