Java 以表格格式打印LinkedHashMap

Java 以表格格式打印LinkedHashMap,java,iterator,hashmap,Java,Iterator,Hashmap,我正在寻找更好的算法,以打印表格式的LinkedHashMap的关键。 我在这里解释这个场景 //hashmap goes like this LinkedHashMap<String , ArrayList<String>> hash=new LinkedHashMap<String,ArrayList<String>>(); // put some values in some arraylist ArrayList<String>

我正在寻找更好的算法,以打印表格式的LinkedHashMap的关键。 我在这里解释这个场景

//hashmap goes like this
LinkedHashMap<String , ArrayList<String>> hash=new LinkedHashMap<String,ArrayList<String>>();

// put some values in some arraylist
ArrayList<String> value1=Arrays.asList("s1", "s2", "s3");
ArrayList<String> value2=Arrays.asList("s4", "s5", "s6");
ArrayList<String> value1=Arrays.asList("s7", "s8", "s9");

// put values in hashmap
hash.put("key1",value1);
hash.put("key2",value2);
hash.put("key3",value3);

做这件事的好方法是什么?谢谢。

如果您使用的是JSP页面,请试试这个

LinkedHashMap>hash=新建LinkedHashMap>()

//在某个arraylist中放入一些值
ArrayList value1=Arrays.asList(“s1”、“s2”、“s3”);
ArrayList value2=数组.asList(“s4”、“s5”、“s6”);
ArrayList值1=数组.asList(“s7”、“s8”、“s9”);
//将值放入hashmap
hash.put(“键1”,值1);
hash.put(“键2”,值2);
hash.put(“键3”,值3);


您也可以使用JSTL标记来完成此操作。

试试

 StringBuffer sb=new StringBuffer();
 sb.append("<tr>");
 sb.append("<td>" + hash.get("key1").get(0) + "</td>");
 sb.append("<td>" + hash.get("key2").get(0) + "</td>");
 sb.append("<td>" + hash.get("key3").get(0) + "</td>");
 sb.append("</tr>");
StringBuffer sb=new StringBuffer();
某人加上(“”);
sb.append(“+hash.get”(“key1”).get(0)+”);
sb.append(“+hash.get”(“key2”).get(0)+”);
sb.append(“+hash.get”(“key3”).get(0)+”);
某人加上(“”);

以下代码应该可以

public static void main(String[] args) {
        // hashmap goes like this
        LinkedHashMap<String, List<String>> hash = new LinkedHashMap<String, List<String>>();

        // put some values in some arraylist
        List<String> value1 = (List<String>) Arrays.asList("s1", "s2", "s3");
        List<String> value2 = (List<String>) Arrays.asList("s4", "s5", "s6");
        List<String> value3 = (List<String>) Arrays.asList("s7", "s8", "s9");

        // put values in hashmap
        hash.put("key1", value1);
        hash.put("key2", value2);
        hash.put("key3", value3);

        int count = 0;
        boolean exit = false;
        while (!exit) {
            for (String key : hash.keySet()) {
                String value = hash.get(key).get(count);
                System.out.printf("\t" + value);
            }
            System.out.printf("\n");
            count++;
            if (count == hash.get("key1").size()) {
                exit = true;
            }
        }

    }

这只打印
LinkedHashMap
键,而不是
ArrayList
中的值。非常感谢。只是做了一些打字,效果很好。谢谢
<% 
  for(Entry<String, ArrayList<String>> en: hash.entrySet()) {
      %>
   <td> 
     <% en.getKey(); %>
   </td>
 <%  }
 %>
 </td>
  </tr>
 StringBuffer sb=new StringBuffer();
 sb.append("<tr>");
 sb.append("<td>" + hash.get("key1").get(0) + "</td>");
 sb.append("<td>" + hash.get("key2").get(0) + "</td>");
 sb.append("<td>" + hash.get("key3").get(0) + "</td>");
 sb.append("</tr>");
public static void main(String[] args) {
        // hashmap goes like this
        LinkedHashMap<String, List<String>> hash = new LinkedHashMap<String, List<String>>();

        // put some values in some arraylist
        List<String> value1 = (List<String>) Arrays.asList("s1", "s2", "s3");
        List<String> value2 = (List<String>) Arrays.asList("s4", "s5", "s6");
        List<String> value3 = (List<String>) Arrays.asList("s7", "s8", "s9");

        // put values in hashmap
        hash.put("key1", value1);
        hash.put("key2", value2);
        hash.put("key3", value3);

        int count = 0;
        boolean exit = false;
        while (!exit) {
            for (String key : hash.keySet()) {
                String value = hash.get(key).get(count);
                System.out.printf("\t" + value);
            }
            System.out.printf("\n");
            count++;
            if (count == hash.get("key1").size()) {
                exit = true;
            }
        }

    }
s1  s4  s7
s2  s5  s8
s3  s6  s9