0

私はLinkedHashMapを反復しようとしていますが、正しく入っていません。以下のコードを添付しました

for (int g = 0; g < list_Fields.size(); g++) {
    System.out.println("Hello ListOFFields:" + list_Fields.get(g));
    row = (LinkedHashMap) list_Fields.get(g);

    Iterator ie = row.keySet().iterator();
    while (ie.hasNext()) {
        String colName = ie.next().toString();
        System.out.println("<TD>" + colName + "</TD>");
    }
}
4

5 に答える 5

3

必要に応じて変更します print ステートメント キーだけが必要な場合は、entrySet() の代わりに keySet() を使用します

どうぞ:

    public static  List<LinkedHashMap<Object,Object>> dummy = new ArrayList<LinkedHashMap<Object,Object>>();
public static void display(){
    for(LinkedHashMap<Object,Object> map : dummy){
        for (Map.Entry<Object, Object> entry : map.entrySet()) {
            Object key = entry.getKey();
            Object value = entry.getValue();
                  //Your code
        }
    }
}
于 2011-11-16T05:06:32.297 に答える
3

なぜこんなにぎこちなく作られているのかわからない。Javaでコレクションを反復するときに通常行うことは次のとおりです(LinkedHashMapを使用しているため、Java 5+を使用していると想定しています)

// assume listField is Collection<Map<String,ANYTHING>> 
for (Map<String,ANYTHING> row : listFields) {
  for (String ie : row.keySet()) {
    System.out.println("<TD>" + ie +"</TD>");
  }
}
于 2011-11-16T04:48:30.527 に答える
1

私はそれが次のようになるべきだと思います:

for (Entry entry: map.entrySet())
{
    System.out.println(entry.getKey() + " = " + entry.getValue());
}
于 2011-11-16T05:07:44.697 に答える
0

反復のコレクションの場合、uはfor-each Construct..を使用
できます。for-each構文を使用すると、forループを使用してコレクションまたは配列を簡潔にトラバースできます。forステートメントを参照してください。次のコードは、for-each構文を使用して、コレクションの各要素を別々の行に出力します。

for (Object o : collection)
System.out.println(o);
// which u wants to do with O
于 2011-11-16T04:55:33.400 に答える
0

フィールドのリストを反復処理し、反復内で値のコレクションを反復処理します。最終的に、フィールドごとに行があり、その中に混合量が含まれるテーブルになります。

単純なテーブルを取得する場合 - フィールド/データ コレクションの順序を変更し、最初に行を反復し、2 番目にフィールドを反復する反復順序を切り替えます。

List<Map<String,String>> rows = ...

for ( Map data : rows ) {
    System.out.println("<TR>");
    for ( String fld : list_Fields ) {
        System.out.println("<TD>" + data.get(fld) + "</TD>");
    }
    System.out.println("</TR>");
}
于 2011-11-16T05:57:14.423 に答える