[英]How to sort an ArrayList using a Map key as list object and value as the order?
[英]Key and Value has ArrayList in Map by Using JSTL
我有一個
Map<ArrayList<String>, ArrayList<String> myMap = new HashMap<ArrayList<String>,ArrayList<String>>();
List<String> list1 = new ArrayList<String>();
list1.add("Administrator");
list1.add("Lookup Configuration");
List<String> list2 = new ArrayList<String>();
list2.add("User Creation");
list2.add("Branch Creation");
list2.add("Country");
list2.add("Language"):
以上是虛擬數據,我正在創建這樣的菜單管理
管理員(MenuName) - 用戶創建(第1項) - 分支創建(第2項)查找創建(MenuName) - 國家(第1項) - 貨幣(第2項)
我正在寫這樣的jstl
Map,ArrayList> myMap = new LinkedHashMap,ArrayList>();
而我這樣做
<c:forEach items="${mainMenu}" var="myMenu">
<c:forEach items="${myMenu.key}" var="menuName" varStatus="loop">
<li id="lookup" class="mail"><a href="#lookup">${menuName}<span>26</span></a>
<ul class="sub-menu">
<c:forEach items="${myMenu.value}" var="items" varStatus="loop">
<li><a href="#"><em>02</em>${items.itemName}<span>14</span></a></li>
</c:forEach>
</ul>
</li>
</c:forEach>
</c:forEach>
我得到了關鍵的完美,但我很震驚
並且值不會迭代已實現的密鑰,任何幫助都會被折舊
關心普拉迪普
您使用的是正確的數據結構嗎?
你的意思是:
Administrator
--User Creation
--Branch Creation
Lookup Configuration
--Country
--Currency
這不是列表地圖嗎? :Map <String,List <String >>
然后你可以有一個嵌套的循環,你迭代每個鍵,然后遍歷那個鍵的值。
我不確定,但也許你想要這樣的東西:
<%
Map<String, List<String>> myMap = new LinkedHashMap<String,List<String>>();
request.setAttribute("mainMenu", myMap);
List<String> adminItemsList = new ArrayList<String>();
adminItemsList.add("User Creation");
adminItemsList.add("Branch Creation");
List<String> lookupItemsList = new ArrayList<String>();
lookupItemsList.add("Country");
lookupItemsList.add("Language");
myMap.put("Administrator", adminItemsList);
myMap.put("Lookup Configuration", lookupItemsList);
%>
<c:forEach items="${mainMenu}" var="myMenu">
<li id="lookup" class="mail"><a href="#lookup">${myMenu.key}<span>26</span></a>
<ul class="sub-menu">
<c:forEach items="${myMenu.value}" var="item" varStatus="loop">
<li><a href="#"><em>02</em>_${item}_<span>14</span></a></li>
</c:forEach>
</ul>
</li>
</c:forEach>
出:
Administrator26
查找配置26
我使用LinkedHashMap來記住我在Map中放置的鍵的順序。
它真的很有幫助你的兩個帖子,非常感謝你,我得到了你的兩個答案的解決方案
這里是
我的地圖是Map<String,List<String> myMenu = new HashMap<String, List<String>>();
<c:forEach items="${myMenu}" var="menuName" varStatus="loop">
<li id="lookup" class="mail"><a href="#lookup">${menuName.key}</a>
<ul class="sub-menu">
<c:forEach items="${menuName.value}" var="item" varStatus="loop">
<li><a href="${item.pageURL}">${item.itemName}</a></li>
</c:forEach>
</ul>
</li>
</c:forEach>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.