【问题标题】:How to add tuple as a value of (key,tuple) map?如何将元组添加为(键,元组)映射的值?
【发布时间】:2019-02-22 19:03:03
【问题描述】:

我想在 Map 中存储键值对,但值应该是一个元组,它将日期表示为一个从:到:的句点。 我尝试的是:

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

还有:

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

这两种方法似乎都不起作用。最好的解决方案是什么?

【问题讨论】:

  • 请勿在声明中使用new,仅在将您的Pairs 添加到地图时使用

标签: java dictionary tuples


【解决方案1】:

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

public class Period {

    private Calendar from;
    private Calendar to;

    // constructor, getters, setters if needed
}

然后将其作为map的值类型:

private Map<PhysicalMedia, Period> mediaOnHold;

【讨论】:

  • 谢谢,我想这是最好的解决方案!
【解决方案2】:

有趣。在 Java 之前您使用的是哪种语言? 反正

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多