java - 在 ArrayList Java 中查找元素

标签 java arraylist collections

我找不到元素,这是我的代码:

 public static void main(String[] args) {
    BufferedReader br = getFileReader("reader.csv");

    ArrayList<Monitoring> col = getCollection(br);

    //sort the collection on 'beginTime'
    for (Monitoring x : col)
        System.out.println(x.toString());
    BeginTimeComparator beginTime = new BeginTimeComparator();
    Collections.sort(col,beginTime);
    System.out.println("Begin time:");
    for (Monitoring x : col)
        System.out.println(x.toString());

这是我遇到问题的部分,我不知道如何搜索并取回结束时间为 2015-03-10 的对象。 顺便说一句,这是一行 cvs 数据:

UnitId;BeginTime;EndTime;Type;Min;Max;Sum

14100072;2015-03-10 07:12:20;2015-03-10 7:13:20;Gps/GpsAccuracyGyroBias;0;0;0

//find the amount of elements that were sent on 'endTime' = 2015-03-10 (just the date)
    EndTimeComparator endTime = new EndTimeComparator();
    String findThis = "2015-03-10";
    Collections.sort(col, endTime);

    for(Monitoring x : col){
             if(x.getEndTime().equals(findThis)){
                 System.out.println("Here is 'endTime= 2015-03-10' :");
                 System.out.println(x.toString());

             }
    }

我已经试过了,但都没有用:

int index = Collections.binarySearch(col, findThis.toString(), null);
System.out.println("Here is 'endTime= 2015-03-10' :");
System.out.println(index);

最佳答案

猜测 getEndTime() 会返回一个 LocalDateTime,您无法将字符串与 LocalDateTime 类型进行比较。您可以尝试将 LocalDateTime 解析为 LocalDate,并用一种​​ LocalDate 类型填充“findThis”变量。

因为代码超过 1000 个字:

EndTimeComparator endTime = new EndTimeComparator();
Collections.sort(col, endTime);

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate findThis = LocalDate.parse("2015-03-10", dtf);

System.out.println("Here is 'endTime= 2015-03-10' :");
for (Monitoring x : col) {
    if (x.getEndTime().toLocalDate().equals(findThis)) {

        System.out.println(x.toString());

    }
}

关于java - 在 ArrayList Java 中查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34262769/

相关文章:

java - Google 图表 API JSON 无效

java - 状态栏什么时候隐藏?

java - 单键多个账户映射

java - 为什么 TreeSet 对 SortedSet 有一个单独的构造函数,而任何 Collection 已经有一个构造函数?

java - 双端队列的 ArrayDeque 类

java - 为什么arraylist 类既要实现List 又要扩展AbstractList?

java - JNI - 线程和 jobject 的问题

java - 从逗号分隔的 ArrayList 写入文本文件

java - 如何从循环中的onclick内的arraylist获取ID

java - 将二维 ArrayList 复制为新的