Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 返回的列表中的日期比较_Java_Arraylist - Fatal编程技术网

Java 返回的列表中的日期比较

Java 返回的列表中的日期比较,java,arraylist,Java,Arraylist,我从一个服务返回了一个ArrayList,其中包含日期时间戳作为字符串值,值为:2010-05-06T23:38:182010-05-06T23:32:522010-04-28818:23:062010-04-27T20:34:022010-04-27T20:37:02 更具体地说,这是父ArrayList ObjectHistory的一部分。此列表包含日期戳和序列号。我需要选择正确的序列号 Objecthistory是List对象,我需要获取此Objecthistory中的最新时间戳 我需要从

我从一个服务返回了一个ArrayList,其中包含日期时间戳作为字符串值,值为:2010-05-06T23:38:182010-05-06T23:32:522010-04-28818:23:062010-04-27T20:34:022010-04-27T20:37:02

更具体地说,这是父ArrayList ObjectHistory的一部分。此列表包含日期戳和序列号。我需要选择正确的序列号

Objecthistory是List对象,我需要获取此Objecthistory中的最新时间戳

我需要从Java6中的这个Arraylist中选择最新的时间戳


我应该怎么做?我应该将这些值转换为日历时间吗?我处于恐慌状态,因为这必须直接在生产中完成。

假设您的意思是arraylist包含日期对象,即它是arraylist类型,您可以简单地使用它

如果列表包含长值,即时间戳值,则相同的操作将起作用

编辑:添加到Collections.sort方法的javadoc链接中

附加编辑:

关于比较国的进一步澄清:

您可以为ObjectHistory类制作一个比较器:

public class ObjectHistoryComparator impelements Comparator<ObjectHistory> {
    public int compare(ObjectHistory o1, ObjectHistory o2) {
        return o1.getDateTime().compareTo(o2.getDateTime());
    }
}

希望这能有所帮助。

我会使用TreeMap。比如说,

   TreeMap<String, String> map = new TreeMap<String, String>();

   map.put(timestamp1, serial1);
   map.put(timestmap2, serail2);
   ...

   String latestTimestamp = map.lastKey();
   String latestSerial = map.get(lastestTimestamp);

要将ISO 8601日期转换为Java日期时间对象,您可以查看该库。

日期时间戳的确切含义是什么?这不是Java类型。修改它-它实际上是字符串值。如果字符串的格式如上图所示,那么它也应该适用于字符串。有一个java文档,它会告诉你它是升序还是降序。测试它的一个好方法是简单地试用它,然后调试或打印到您找到的数据中。我只是处于恐慌状态。我看了一下,也修改了我原来的问题,我的时间戳值在列表中,所以我无法排序。你有什么建议吗?我建议做一个比较器:然后调用Collections.sort,new MyComparator比较器基本上告诉排序方法这就是你如何比较这类元素的方式,这样它就可以为你排序了。我们都处于恐慌状态——我能给出的最好建议就是一步一步地走祝你好运
   TreeMap<String, String> map = new TreeMap<String, String>();

   map.put(timestamp1, serial1);
   map.put(timestmap2, serail2);
   ...

   String latestTimestamp = map.lastKey();
   String latestSerial = map.get(lastestTimestamp);