选择值时搜索键

时间:2015-06-13 13:11:02

标签: java guava

我正在使用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。

所以,请告知如何实现这一目标,因为我现在想要搜索值。

1 个答案:

答案 0 :(得分:0)

没有直接的方法来获取基于值的键因此您可以迭代表的所有cellSet(行)并检查每个列表是否包含值。如果你是为大地图做的,那么你可以想到使用BiMap //代码迭代

Name='Bd'