如何将元组添加为(key,tuple)map的值?

时间:2019-02-22 19:03:03

标签: java dictionary tuples

我想将键,值对存储在Map中,但该值应该是一个表示日期的元组,该日期表示为从:到:的时间段。 我试过的是:

private Map<PhysicalMedia,(Calendar,Calendar)> mediaOnHold; //book held from: to:

还有:

private Map<PhysicalMedia , new Pair<Calendar,Calendar>> mediaOnHold;

这两个似乎都不起作用。.什么是最佳解决方案?

2 个答案:

答案 0 :(得分:4)

Java中没有“元组”之类的东西。尽管您可以使用Pair类(来自javafx.util包或来自Apache commons-lang库),但我还是建议您这样做,因为它通常会使代码混乱。只需为您的值创建一个特定的类:

public class Period {

    private Calendar from;
    private Calendar to;

    // constructor, getters, setters if needed
}

然后将其用作地图的值类型:

private Map<PhysicalMedia, Period> mediaOnHold;

答案 1 :(得分:2)

有趣。在Java之前使用过哪种语言? 无论如何

private Map<PhysicalMedia , Pair<Calendar, Calendar>> mediaOnHold;

但是请记住,Pair来自javafx.util软件包。