TreeMap<String, Set<String>> 的 for-each 循环中 getValue 的结果
Result of getValue in for-each loop for TreeMap<String, Set<String>>
(刚刚设置)。
TreeMap< String, Set< String>> map;
字符串是名称,集合是不同的时间戳,所以每个时间戳可以有多个名称,如果都选择了相同的时间
...
(发起)
map = new TreeMap< String, Set< String>>;
...
for (Map.entry< String, Set< String>> mapEx : map.entrySet()){
这里 map.getValue 会产生什么结果?
比如,下面的代码会导致我能够从地图中查看 Set 部分中的每个字符串并打印它们吗?
for(String stringEx : map.getValue()){
System.Out.Println(stringEx);
}
map.getValue 确实会 Set<String>
。
如果你有这个循环
for(String stringEx : mapEx.getValue()){
System.out.println(stringEx);
}
在这个循环中
for (Map.entry< String, Set< String>> mapEx : map.entrySet()){
// For each map entry value is set
//of strings which can be printed by the loop shown before
}
组合循环
for (Map.entry< String, Set< String>> mapEx : map.entrySet()){
for(String stringEx : mapEx.getValue()){
System.out.println(stringEx);
}
}
我会提出 3 种不同的方法来实现这一点:
使用 Java 8 Stream:遍历值,然后从每个 Set
遍历 String
map.values().stream().flatMap(Set::stream).forEach(System.out::println);
// over Set //over String from each Set
// System.out::println === s -> System.out.println(s) and can be whatever you want
每个人的经典 差异 Sets
:
for (Set<String> set : map.values()) {
for (String stringEx : set) {
System.out.println(stringEx);
}
}
对于不同的 entries
上的每个,然后取它们的值 (Set<String>
):
for (Map.Entry<String, Set<String>> entry : map.entrySet()) {
for (String val : entry.getValue()) {
System.out.println(val);
}
}
(刚刚设置)。
TreeMap< String, Set< String>> map;
字符串是名称,集合是不同的时间戳,所以每个时间戳可以有多个名称,如果都选择了相同的时间
...
(发起)
map = new TreeMap< String, Set< String>>;
...
for (Map.entry< String, Set< String>> mapEx : map.entrySet()){
这里 map.getValue 会产生什么结果? 比如,下面的代码会导致我能够从地图中查看 Set 部分中的每个字符串并打印它们吗?
for(String stringEx : map.getValue()){
System.Out.Println(stringEx);
}
map.getValue 确实会 Set<String>
。
如果你有这个循环
for(String stringEx : mapEx.getValue()){
System.out.println(stringEx);
}
在这个循环中
for (Map.entry< String, Set< String>> mapEx : map.entrySet()){
// For each map entry value is set
//of strings which can be printed by the loop shown before
}
组合循环
for (Map.entry< String, Set< String>> mapEx : map.entrySet()){
for(String stringEx : mapEx.getValue()){
System.out.println(stringEx);
}
}
我会提出 3 种不同的方法来实现这一点:
使用 Java 8 Stream:遍历值,然后从每个 Set
String
map.values().stream().flatMap(Set::stream).forEach(System.out::println);
// over Set //over String from each Set
// System.out::println === s -> System.out.println(s) and can be whatever you want
每个人的经典 差异 Sets
:
for (Set<String> set : map.values()) {
for (String stringEx : set) {
System.out.println(stringEx);
}
}
对于不同的 entries
上的每个,然后取它们的值 (Set<String>
):
for (Map.Entry<String, Set<String>> entry : map.entrySet()) {
for (String val : entry.getValue()) {
System.out.println(val);
}
}