如何检索ArrayList(Java)的索引?

时间:2019-06-06 05:09:42

标签: java arrays object arraylist

我正在尝试检索ArrayList的第一个索引,我无法弄清楚语法。

DateSet类的代码段

public class DateSet {

    public List<Date> dates; 

    public DateSet() {
        this.dates = new ArrayList<Date>();
    }

    public void add(Date date) {
        if (this.dates.contains(date)) {
            return;
        }
        this.dates.add(date);
    }

    public static void main(String args []) {
        DateSet setty = new DateSet();
        Date date = new Date("test");
        setty.add(date);
        setty.get(0); // < doesn't work
    }

日期分类的片段:

public class Date {

    String date;

    // constructor for date class
    public Date(String date) {
        this.date = date;
    }
}

我认为,由于我正在创建类型为Date的对象“日期”并将其添加到ArrayList中,因此我需要通过在日期内部调用String来以某种方式调用它,但我不太确定如果是这样/如何做。

在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您需要首先获取对dates对象的引用。

更改

setty.get(0);

setty.dates.get(0);

或以下内容以字符串形式获取日期:

setty.dates.get(0).date

然后将其保存到变量或打印为:

System.out.println(setty.dates.get(0).date);

但是您应该使用getters / setters。

另外,除非您在this.dates.contains(date)类中覆盖equals()hashcode(),否则Date将不起作用。而且,如果您不希望重复,则应使用Set而不是List