簡體   English   中英

Java,Hashmap,數據類型轉換

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM