【问题标题】:How to retrieve index of ArrayList (Java)?如何检索 ArrayList (Java) 的索引?
【发布时间】:2019-06-06 05:09:42
【问题描述】:

我正在尝试检索 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,我需要通过调用日期内部的字符串来以某种方式调用它,但我不太确定那是不是案例/如何做到这一点。

不胜感激,提前致谢!

【问题讨论】:

  • setty.dates.get(0);

标签: java arrays object arraylist


【解决方案1】:

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

改变

setty.get(0);

setty.dates.get(0);

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

setty.dates.get(0).date

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

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

你应该使用 getter/setter。

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

【讨论】:

  • 嘿,谢谢,我确实覆盖了 equals,它只是不包含在 sn-p 中。
猜你喜欢
  • 1970-01-01
  • 2016-07-26
  • 2011-01-09
  • 1970-01-01
  • 1970-01-01
  • 2011-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多