Я пытаюсь вставить значения в хэш-карту через объект, и я хочу проверить, вставлены ли значения в хэш-карту. поэтому я использую этот код, но во время выполнения я не могу получить какой-либо результат.Как получить ключ и значения из hashmap
Как это решить?
Код:
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
99% времени, использующего объект, является неправильным. Все время, когда вы использовали Object [], они, по-видимому, на самом деле являются String [] в этом случае –