準 備 數 據 :(本身準備吧少年,考驗你時候到了!!)java
1 /** 結構示意圖: 2 類型: List集合 map對象 LIst集合 Person類對象 String name ; int age 3 4 5 mList -> map() ->pList ->Person p1 坤哥 24 6 ->Person p2 鯤哥 104 7 ->pList2 8 ->Person ps1 王小三 24 9 ->Person ps2 王小二 24 10 -> map2() 11 ->pList3 12 ->Person pr1 張咪咪 19 13 ->Person pr2 趙咪咪 21 14 - >pList4 15 ->Person pd1 謝廣坤 54 16 ->Person pd2 趙四 56 (多是吧) 17 */
Map 所 需 包 :(只限JSTL中)spa
java.util.HashMapcode
java.util.Map對象
常 見 Map 指 令 清 單:blog
1. 建立mapit
Map<String,List<Person>> map = new HashMap<String,List<Person>>();
眼花了?那建立map集的會更眼花了。table
List<Map<String,List<Person>>> mList = new ArrayList<Map<String,List<Person>>>();
其實結構確實不難的。(O - O)```class
2. map添加數據test
map.put("謝廣坤",54)
3. 獲取keyList
map.keySet() 和 map.entrySet()
本處用keySet()。由於我菜,用entrySet()遍歷的數據不太正常,哪天解決了再寫吧。
4. 獲取value
map.values() 注意 ‘ s ’
我 的 主 要 代 碼 :
1. 數據準備
//以謝廣坤爲例 List<Person> pList4 = new ArrayList<Person>(); Person pd1 = new Person("謝廣坤",54); Person pd2 = new Person("趙四",56); pList4.add(pd1);pList4.add(pd2); //。。。 Map<String,List<Person>> map2 = new HashMap<String,List<Person>>(); map2.put("pList4",pList4); //。。。 List<Map<String,List<Person>>> mList = new ArrayList<Map<String,List<Person>>>(); mList.add(map2);
2. 輸出全部數據
<c:forEach items="${mList}" var="m" varStatus="id"> <h2>第${id.count}個map</h2> <c:forEach items="${m.keySet()}" var="k"> <h3>List的名字是:<c:out value="${k}"></c:out></h3> <c:forEach items="${m.values()}" var="l"> <c:forEach items="${l}" var="p"> <table border="1px dotted blue"> <tr> <th>姓名</th> <th>年齡</th> </tr> <tr> <td>${p.name}</td> <td>${p.age}</td> </tr> </table> <br> </c:forEach> </c:forEach> </c:forEach> </c:forEach>
3. 下面咱們來輸出年齡大於50的鄉村愛情人物
<c:forEach items="${mList}" var="m"> <c:forEach items="${m.values()}" var="l"> <c:forEach items="${l}" var="p"> <c:if test="${p.age>50}"> <table border="2px dotted blue"> <tr> <th>姓名</th> <th>年齡</th> </tr> <tr> <td>${p.name}</td> <td>${p.age}</td> </tr> </table> </c:if> </c:forEach> </c:forEach> </c:forEach>
結 果 樣 子 :
大概就是這個樣子的