要遍历ListMultiMap的子集,可以使用Multimaps类中的filterKeys方法来过滤出需要的子集,然后使用forEach方法遍历子集中的元素。
下面是一个使用Java代码的示例:
import com.google.common.collect.ListMultimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.Multimaps;
import java.util.List;
public class ListMultiMapSubset {
public static void main(String[] args) {
// 创建一个ListMultiMap
ListMultimap multiMap = MultimapBuilder.hashKeys().arrayListValues().build();
// 添加元素
multiMap.put("A", 1);
multiMap.put("A", 2);
multiMap.put("B", 3);
multiMap.put("B", 4);
multiMap.put("C", 5);
// 过滤出子集
ListMultimap subMap = Multimaps.filterKeys(multiMap, key -> key.equals("A") || key.equals("B"));
// 遍历子集
subMap.entries().forEach(entry -> {
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println("Key: " + key + ", Value: " + value);
});
}
}
运行以上代码,输出结果为:
Key: A, Value: 1
Key: A, Value: 2
Key: B, Value: 3
Key: B, Value: 4
这个示例中,我们创建了一个ListMultiMap,并添加了一些元素。然后使用Multimaps类的filterKeys方法过滤出子集,过滤条件为只包含键为"A"或"B"的键值对。最后使用forEach方法遍历子集中的元素,并打印每个键值对的键和值。
下一篇:遍历ListView