我正在使用google table以这种格式存储集合,如下所示:
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.Lists;
import com.google.common.collect.Table;
public class mapdemo {
public static void main(String[] args) {
final Table<String, String, List<String>> values = HashBasedTable
.create();
values.put("B1", "RtyName",
Lists.newArrayList("weepn", "weepfnb", "eedgeft", "xbteehy"));
values.put("B2", "EUOPName",
Lists.newArrayList("aaa", "bbbb", "ccc", "dddd"));
System.out.println(values.get("B1", "RtyName")); // prints the list
System.out.println(values.get("B2", "XXXName")); // prints the list
}
}
现在,输出:
[weepn, weepfnb, eedgeft, xbteehy]
[aaa, bbbb, ccc, dddd]
我想自定义这个相同的程序,比如让我们说如果列表的任何一个值,我选择让我们从下面的对中说出来
"B1", "RtyName", Lists.newArrayList("weepn", "weepfnb", "eedgeft", "xbteehy"
我选择值weepn
然后它应该打印RtyName和B1
同样地说我选择值aaa然后它应该打印XXXName和B2。
所以,请告知如何实现这一目标,因为我现在想要搜索值。
答案 0 :(得分:0)
没有直接的方法来获取基于值的键因此您可以迭代表的所有cellSet(行)并检查每个列表是否包含值。如果你是为大地图做的,那么你可以想到使用BiMap //代码迭代
Name='Bd'