개체를 통해 해시 맵에 값을 삽입하려고하는데 해시 맵에 값이 삽입되어 있는지 확인하고 싶습니다. 그래서이 코드를 사용하고 있지만 런타임에 어떤 출력을 얻을 수 없습니다.해시 맵에서 키와 값을 검색하는 방법
해결 방법?
코드 :
코드에서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
잘못된 typecasting으로 인한 잠재적 인 오류를 피하려면 제네릭을 사용하십시오. – jlordo
개체를 사용하는 시간의 99 %가 잘못되었습니다. 항상 Object []를 사용한 적이 있습니다.이 경우 실제로 String []이됩니다. –