50,535
社区成员
发帖
与我相关
我的任务
分享
public class Sample {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("1", "one"); //测试数据
map.put("2", "one");
map.put("3", "tow");
map.put("4", "tow");
//结果是map的形式,value变成key,value:key的list变成value
Map<String, List<String>> map2 = map.entrySet().stream()
.map(m->String.format("%s:%s", m.getValue(), m.getKey()))
.collect(Collectors.groupingBy(s->s.split(":")[0]));
System.out.println("cast to map:");
for (Map.Entry<String, List<String>> e : map2.entrySet()) {
System.out.println(e);
}
//结果是list的形式,list里存的是value:key
System.out.println("\ncast to list:");
List<String> list = map.entrySet().stream()
.map(m->String.format("%s:%s", m.getValue(), m.getKey()))
.collect(Collectors.toList());
for (String s : list) {
System.out.println(s);
}
}
}
List<Object> keys = map.entrySet().stream().filter(entry -> value.equals(entry.getValue())).map(Entry::getKey).collect(Collectors.toList());