我有.txt
文件與5L值(行)以下列方式,也有分區大小50000
。如何動態創建HashMap
1
3
-1546.9
-67.90
3456
.
.
.
通過以下示例,您可以理解以我的觀點來看Partition的含義。
將文件數據導入列表後我們可以通過以下方式看到。
importingdata={1,2,3,4,5,.........500000};
分區後,您可以通過以下方式看到。
PartitionList={{1,2,3,...50000},{50001,....,100000},{100001,......,150000},...{450000,.....500000}};
partitionList數據類型爲ArrayList<HashMap<Integer,Double>>
。它意味着partitionlist的所有子列表是HashMap<Integer,Double>
。
全部HashMap
列表從1 to 50000
開始它們的關鍵值,如下所示。
PartitionList={{1->1,2->2,3->3,...,50000->50000},{1->50001,.....,50000->100000},{1->100001,....,50000->150000},...,{1->450000,.....,50000->500000}};
我想在文件導入時按上述方式排列文件數據。
爲此我試着用示例代碼,但它不工作。
public static void main(String[] args) {
ArrayList<HashMap<Integer, Double>> finalList=new ArrayList<>();
HashMap<Integer, Double> hash1=new HashMap<>();
hash1.put(1, 1.0);
hash1.put(2, 2.0);
hash1.put(3, 3.0);
finalList.add(hash1);
System.out.println(finalList.size());
System.out.println(hash1.size());
hash1.clear();
System.out.println(hash1.size());
hash1.put(1, 1.0);
hash1.put(2, 2.0);
hash1.put(3, 3.0);
finalList.add(hash1);
System.out.println(finalList.size());
System.out.println(hash1.size());
hash1.clear();
System.out.println(hash1.size());
HashMap<Integer, Double> hash2=finalList.get(1);
HashMap<Integer, Double> hash3=finalList.get(2);
System.out.println(hash2.size());
System.out.println(hash3.size());
}
我希望你們明白我在想什麼。 在這裏我提到5L
行,但在我的真實情況下,我正在處理80L
所以建議我優化代碼。
感謝
**拉赫仍然不是國際單位**。請記住這一點! 對於不知道L表示什麼的人:** 100000 **。 – ppeterka
@ ppeterka66我會明確提及。 – Hanumath
您正在將相同的HashSet * reference *反覆添加到列表中。如果你想同時有不同的集合,你需要實例化多個集合。 – Sebastian