只有1个条目的Hashmap(替代)

时间:2016-01-28 13:15:38

标签: java

我已经设置了一些东西, 现在我想保存一个字符串,并附上一个日期。

private HashMap<String, Date> something = new HashMap<String, Date>();

我遇到的问题是我只想在这个HashMap中有一个东西,所以当我把一个新的String,Date in,旧的那个被删除。

在我添加一个之前,我已经通过调用clear得到了这个,但后来我遇到了另一个问题:

String current = something.get ????

如上所述,我只想获得1个条目。没有约会。

有更好的选择吗?或者我看到一些完全错误的东西?

3 个答案:

答案 0 :(得分:2)

您可以使用Pair<K,V>

  

表示名称 - 值对的便利类。

// The import statement
import javafx.util.Pair;

Pair<String, Date> something = new Pair<>("string1", new Date());

你可以使用

something.getKey()获取String,&amp; something.getValue()获取Date

答案 1 :(得分:0)

你有几种可能性。你可以只有一个String和一个Date变量以及一个setter:

private String someString;
private Date someDate;

private void setStringDate(String someString, Date someDate) {
    this.someString = someString;
    this.someDate = someDate;
}

另一种可能性是将该功能封装在一个类中:

public class StringDate {
    private String someString;
    private Date someDate;

    // setter ... (like above)

    public String getSomeString() {
        return someString;
    }

    public Date getSomeDate() {
        return someDate;
    }
}

当然,如果您需要除StringDate之外的其他数据结构,您可以在自己的类中使用泛型来实现它!

答案 2 :(得分:0)

似乎something应该只是一个存储String,Date对的变量。如果您不想为此定义一个小类,或者使用两个变量,则可以使用Pair