ホームページ >Java >&#&チュートリアル >JSTL を使用して HashMap 内で ArrayList を反復するにはどうすればよいですか?
Web 開発では、JSTL (JavaServer Pages Standard Tag Library) は、JSP での一般的なタスクを簡素化するためのタグのセットを提供します ( Javaサーバーページ)。そのようなタスクの 1 つは、データ構造の反復です。
HashMap とその中に含まれる ArrayList を反復するには、JSTL の
配列とコレクションの場合、var は現在反復されている項目を示します。
<code class="html"><c:forEach items="${collectionOrArray}" var="item"> Item = ${item}<br> </c:forEach></code>
マップの場合, var は、getKey() メソッドと getValue() メソッドを持つ Map.Entry オブジェクトを提供します。
<code class="html"><c:forEach items="${map}" var="entry"> Key = ${entry.key}, value = ${entry.value}<br> </c:forEach></code>
entry.value はリストであるため、同様に反復処理します。
<code class="html"><c:forEach items="${map}" var="entry"> Key = ${entry.key}, values = <c:forEach items="${entry.value}" var="item" varStatus="loop"> ${item} ${!loop.last ? ', ' : ''} </c:forEach><br> </c:forEach></code>
varStatus 属性は、ループの反復ステータスを追跡することで可読性を高めます。
以下の同様の Java 実装は、プロセスの理解に役立ちます。
<code class="java">for (Entry<String, List<Object>> entry : map.entrySet()) { out.print("Key = " + entry.getKey() + ", values = "); for (Iterator<Object> iter = entry.getValue().iterator(); iter.hasNext();) { Object item = iter.next(); out.print(item + (iter.hasNext() ? ", " : "")); } out.println(); }</code>
詳細については、次のリソースを参照してください。
以上がJSTL を使用して HashMap 内で ArrayList を反復するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。