-2

このコードでハッシュマップ値を取得して表示しようとしていますが、出力を個別の値にしたいのですが...どうすればよいですか

コード:

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 

このような出力が 1 つのセットに必要です。出力の 3 行目に言う

出力:

13
trng-lvk1
4.6.1.
3
O
4

2 に答える 2

5

真剣に、それはあなたの質問ですか?これは答えなくてもいいのではないでしょうか。

交換

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

System.out.println(value[i] + " ");
                ^^
于 2013-06-27T09:08:32.603 に答える
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]);
         }

     }
于 2013-06-27T09:09:26.157 に答える