首先 map排序
先是按照插入顺序排序 这里使用的是LinkedHashMap
LinkedHashMap<String, String> breadCrumbmap = getBreadCrumb(id); Iterator it = breadCrumbmap.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); System.out.println("排序前" + entry.getValue()); } ListIterator<Map.Entry<String, String>> i = new ArrayList<>(breadCrumbmap.entrySet()).listIterator(breadCrumbmap.size()); LinkedHashMap<String, String> linkedHashMap = new LinkedHashMap<String, String>(); while (i.hasPrevious()) { Entry<String, String> entry = i.previous(); linkedHashMap.put(entry.getKey(), entry.getValue()); } Iterator it1 = linkedHashMap.entrySet().iterator(); while (it1.hasNext()) { Map.Entry entry = (Map.Entry) it1.next(); System.out.println("排序后" + entry.getValue()); }
结果为:
排序前第三层 排序前第二层 排序前第一层 排序前首页 排序后首页 排序后第一层 排序后第二层 排序后第三层