如何通过一个关键字段从Map获取价值?

时间:2016-11-28 08:47:24

标签: java java-8

我有一张地图:

public class MyKey {
    ...
    private long id;
    ...
}

Map<MyKey, String> myMap;

如何通过myMap字段从MyKey.id获取价值?

1 个答案:

答案 0 :(得分:1)

请在C#中找到答复。我认为我们可以使用Linq表达式实现相同的目标。请在下面找到示例代码,希望它能为您提供帮助。

    public class MyKey
    {
        public long ID { get; set; }
    }

    static void Main(string[] args)
    {
        Dictionary<MyKey, String> myMap = new Dictionary<MyKey, string>();
        myMap.Add(new MyKey() { ID = 100 }, "One");
        myMap.Add(new MyKey() { ID = 200 }, "Two");
        myMap.Add(new MyKey() { ID = 300 }, "Three");

        long searchKey = 200;
        string value = myMap[myMap.Keys.FirstOrDefault(x => x.ID == searchKey)];
    }