使用java 8对类型列表的hashmap值进行排序
我有一个字符串键的映射,值是字符串列表,我希望映射内的列表按字母顺序排序,如何使用Java8实现这一点使用java 8对类型列表的hashmap值进行排序,java,arrays,Java,Arrays,我有一个字符串键的映射,值是字符串列表,我希望映射内的列表按字母顺序排序,如何使用Java8实现这一点 K1=[ "Tomato", "potato","Apple"], K2=["Plan", "car", "train"] 结果应该是 K1=[ "Apple" , "potato","Tomato"], K2=["car","Plan", "train"] 试试下面的功能 static void sort(Map<String, List<String>> s
K1=[ "Tomato", "potato","Apple"],
K2=["Plan", "car", "train"]
结果应该是
K1=[ "Apple" , "potato","Tomato"],
K2=["car","Plan", "train"]
试试下面的功能
static void sort(Map<String, List<String>> stringListHashMap) {
stringListHashMap.forEach((key, value) -> {
Collections.sort(value);
});
}
静态无效排序(映射stringListHashMap){
stringListHashMap.forEach((键,值)->{
集合。排序(值);
});
}
插入地图时,对列表进行排序,或在检索后对列表进行排序。
请参阅以下代码以供参考:
Map<String, List<String>> data= new HashMap<>();
List<String> list1= Stream.of("AAA","CCC","BBB","DDD").sorted().collect(Collectors.toList());
List<String> list2= Stream.of("CCC","DDD","BBB","AAA").sorted().collect(Collectors.toList());
data.put("A",list1.stream().sorted().collect(Collectors.toList()));
data.put("B", list2);
System.out.println(data);
Map data=newhashmap();
List list1=流.of(“AAA”、“CCC”、“BBB”、“DDD”).sorted().collect(Collectors.toList());
List list2=流.of(“CCC”、“DDD”、“BBB”、“AAA”).sorted().collect(Collectors.toList());
data.put(“A”,list1.stream().sorted().collect(Collectors.toList());
数据。将(“B”,列表2);
系统输出打印项次(数据);
希望这将对您有所帮助。Map yourMap=newhashmap();
Map<String, List<String>> yourMap= new HashMap<>();
List list1 = Arrays.asList("Tomato", "potato","Apple");
List list2 = Arrays.asList("Plan", "car", "train");
data.put("A",list1.sorted().collect(Collectors.toList()));
data.put("B", list2.sorted().collect(Collectors.toList()));
This will give you what you are looking for.
list1=Arrays.asList(“西红柿”、“土豆”、“苹果”);
list2=数组。asList(“计划”、“汽车”、“火车”);
data.put(“A”,list1.sorted().collect(Collectors.toList());
data.put(“B”,list2.sorted().collect(collector.toList());
这会给你你想要的。
使用TreeSet作为映射的值元素,它根据提供的比较器对值进行排序
Comparator<? super String> comparator = String::compareToIgnoreCase;
Map<String, TreeSet<String>> map = new HashMap<>();
TreeSet<String> K1_values = new TreeSet<>(comparator);
K1_values.add("Tomato");
K1_values.add("potato");
K1_values.add("Apple");
map.put("K1", K1_values);
TreeSet<String> K2_values = new TreeSet<>(comparator);
K2_values.add("Plan");
K2_values.add("car");
K2_values.add("train");
map.put("K2", K2_values);
System.out.println(map);
按您需要的顺序排列项目
希望这有帮助这是否回答了您的问题?
{K1=[Apple, potato, Tomato], K2=[car, Plan, train]}