說,我有類似這樣的數組,把數組項到HashMap中有2串
{"A", "1", "B", "2", "C", "3"}
我希望把它放到HashMap
像對,我試過一些方法,但沒有一個似乎工作。 我創建了一個方法ISDIGIT(),以檢查是否一個項目是數字,
private static boolean isDigit(String str){
try {
Integer.parseInt(str);
}
catch (NumberFormatException nfe){
return false;
}
return true;
}
然後我試圖分離成2陣列,數字和字母。
for (int i = 0; i <= parts.length; i++) {
if (isDigit(parts[i])) {
numbers[i] = parts[i];
} else {
abcs[i] = parts[i];
}
}
最後,
for (int i = 0; i < numbers.length ; i++) {
map.put(abcs[i], numbers[i]);
}
,我打印出來帶,
for (String each: map.keySet()) {
System.out.println(each + ":" + map.get(each));
}
它打印類似,
1
A : null
2
B : null
它應該打印是,
A : 1
B : 2
C : 3
「A」1「B」2「C」3「不是數組。 –
'isDigit(」10「)'會返回true,但10不是數字,'isInteger'會是一個更好的名字 – weston
你讓它變得更加困難(而且速度更慢),爲什麼不迭代原始數組,將當前元素和下一個元素添加到地圖中,然後將2添加到循環計數器?for(int i = 0;我