如何识别每个元素都是列表中的下一个元素之前的

Din*_*nka 1 scala

我有一个包含许多元素的列表,这些元素的格式设置为“本地日期时间”类型,如下所示。

List(2017-06-25T00:00, 2017-06-25T00:05:13, 2017-06-25T00:11:11, 2017-06-25T00:17:39, 2017-06-25T00:24:44, 2017-06-25T00:32:33, 2017-06-25T00:41:11, 2017-06-25T01:01:03)
Run Code Online (Sandbox Code Playgroud)

我想检查List的每个元素在下一个元素之前。例如,list的第一个值在list的第二个值之前。就像我一样,我想检查list内的整个元素。任何人都可以帮帮我。

jwv*_*wvh 5

这将测试List格式正确的日期字符串是否全部按时间顺序排列。

import java.time.LocalDateTime

val dates: List[String] = List( "2017-06-25T00:00"
                              , "2017-06-25T00:05:13"
                                // etc.
                              , "2017-06-25T01:01:03"
                              )

dates.iterator
     .map(LocalDateTime.parse)
     .sliding(2)
     .forall(x => x(0) isBefore x(1))  // returns true/false
Run Code Online (Sandbox Code Playgroud)

.iterator被包括在内,以便将日期字符串可以懒洋洋地解析,也就是说,如果第一次约会的一个是为了出去,然后在列表中的后续日期不必在所有被解析。