如何分别打印每个hashmap值

时间:2013-06-27 09:06:25

标签: java

我正在尝试检索并显示此代码中的哈希映射值,但我希望输出为单独的值...我该怎么做

代码:

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.","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[k]);
        }
        Set mapSet = (Set) screen_dataz.entrySet();
        Iterator mapIterator = mapSet.iterator();
        while (mapIterator.hasNext()) 
 {
     Map.Entry mapEntry = (Map.Entry) mapIterator.next();
     Integer keyValue = (Integer) mapEntry.getKey();
     Object[] value = (Object[]) mapEntry.getValue();
     //iterate over the array and print each value
     for (int i=0; i<value.length; i++) {
         System.out.print(value[i] + " ");
     }
     System.out.println();
 }
    }
} 

现在我得到这样的输出:

输出:

10 kstc-proc 10.10. 5 O 
11 proc-lvk1 12.1.2. 4 O 
13 trng-lvk1 4.6.1. 3 O 

我想要一组这样的输出。说第三行输出

输出:

13
trng-lvk1
4.6.1.
3
O

2 个答案:

答案 0 :(得分:5)

说真的,那是你的问题?我可能不应该回答这个问题。

替换

System.out.print(value[i] + " ");

System.out.println(value[i] + " ");
                ^^

答案 1 :(得分:1)

尝试像这样更新你的for循环:

   for (int i=0; i<value.length; i++) {
         String arr[] = (String[])values[i];
         for(int k = 0 ; k < arr.length; k++) {
            System.out.println(arr[k]);
         }

     }