我想将List<Integer[]>
转换为Map<Integer,List<Integer>>
。
Integer[]
的大小为2。 Integer[0]
是地图的键,Integer[1]
是地图的值。
让我们举个例子。输入值为:
List<Integer[]> a=new ArrayList<>(5);
a.add(new Integer[] {1,2});
a.add(new Integer[] {1,3});
a.add(new Integer[] {1,15});
a.add(new Integer[] {2,11});
a.add(new Integer[] {2,7});
并且结果输出映射将具有两个键1和2。
键1的值是2,3和15。
键2的值是11和7。
答案 0 :(得分:4)
以下是将收集的结果分组到数组的第一个元素上的流:
Map<Integer, List<Integer>> gouped = a.stream()
.collect(Collectors.groupingBy(arr -> arr[0],
Collectors.mapping(arr -> arr[1], Collectors.toList())));
那张地图是{1=[2, 3, 15], 2=[11, 7]}
答案 1 :(得分:0)
尝试这个
{% for advert in listWorker %}
{% if advert.client != 'xxxxx' %}
<li class="sidebar-dropdown">
<a href="#">
<span>{{ advert.client }}</span>
</a>
<div class="sidebar-submenu">
<ul>
<li>
<a href="#">{{ advert.nom }}</a>
</li>
</ul>
</div>
</li>
{% endif %}
{% endfor %}