我想通過對象插入哈希映射的值,我想檢查值是否插入哈希映射。所以我使用這段代碼,但在運行時我無法獲得任何輸出。如何從哈希映射檢索鍵和值
如何解決這個問題?
代碼:
在你的代碼import java.util.*;
import java.io.*;
import java.lang.*;
public class TaskList
{
private static HashMap<Integer, Object[]> dataz = new HashMap<Integer,Object[]>();
private static HashMap<Integer, Object[]> screen_dataz = new HashMap<Integer,Object[]>();
public final static Object[][] longValues = {{"10", "kstc-proc", "10.10.10.10.10.","5","O"},{"11", "proc-lvk1", "12.1.2.","4","O"},{"13", "trng-lvk1", "4.6.1.","3","O"}};
private static String sl,pid,tid,mval,status;
public static void main(String args[])
{
addTask();
}
public static void addTask()
{
for (int k=0; k<longValues.length; k++)
{
screen_dataz.put(k,longValues);
}
Set mapSet = (Set) screen_dataz.entrySet();
Iterator mapIterator = mapSet.iterator();
while (mapIterator.hasNext())
{
Map.Entry mapEntry = (Map.Entry) mapIterator.next();
String keyValue = (String) mapEntry.getKey();
String value = (String) mapEntry.getValue();
System.out.println(value);
}
}
}
在循環中你應該做'screen_dataz.put(k,longValues [k]);'再次看看你的'HashMap',你就會明白爲什麼。 – Maroun
請使用泛型來避免由於錯誤類型轉換而導致的潛在錯誤。 – jlordo
使用Object的99%的時間是錯誤的。在這種情況下,您使用Object []的所有時間似乎實際上都是String [] –