Java 如何以相同的顺序在另一个列表中断言一个列表

Java 如何以相同的顺序在另一个列表中断言一个列表,java,assert,assertions,hamcrest,Java,Assert,Assertions,Hamcrest,我有一个清单,其中包含最近5个订单日期 List<String> recentFiveOrdersDates = new ArrayList<>(); 我有另一个列表,其中包含所有订购日期: List<String> AllOrderDates = new ArrayList<>(); 现在我想在所有订单列表中声明最近的五个订单列表。是否可以验证它们的顺序相同 我曾使用过hamcrest的assertThat()方法,但我不确定它是否以同样的方

我有一个清单,其中包含最近5个订单日期

List<String> recentFiveOrdersDates = new ArrayList<>();
我有另一个列表,其中包含所有订购日期:

List<String> AllOrderDates = new ArrayList<>();
现在我想在所有订单列表中声明最近的五个订单列表。是否可以验证它们的顺序相同

我曾使用过hamcrest的
assertThat()
方法,但我不确定它是否以同样的方式工作

assertThat(AllOrderDates, contains(recentFiveOrdersDates.toArray()));
这种方法已经适合订货了

如果您不想订购,您可以使用。

该方法已满足订购要求


如果你不想排序,你可以使用。

也许可以使用
AllOrderDates.subList(0,recentfiveorderDates.size())
或者类似的东西来测试是否相等?@Arnaud Denoyelle,这可能是一种方法,但当我在断言中使用它时,会给出一个例外。你知道如何在断言中使用这个吗?也许可以用
allordedates.subList(0,recentFiveOrdersDates.size())
或者类似的东西来测试等式?@Arnaud Denoyelle,这可能是一种方法,但当我在断言中使用它时,它给出了一个例外。你知道如何把这个放在断言中吗?谢谢你宝贵的回复。但您知道,当我在主列表中断言子列表时,它在线程“main”java.lang.AssertionError中显示
异常。是这样的,我们必须维护相同大小的列表吗?谢谢您宝贵的回复。但您知道,当我在主列表中断言子列表时,它在线程“main”java.lang.AssertionError中显示
异常。是不是我们必须声明相同大小的列表?
["20/07/2018", "19/07/2018", "18/07/2018", "18/07/2018", "18/07/2018", "17/07/2018", "17/07/2018", "16/07/2018", "16/07/2018", "12/07/2018", "12/07/2018", "17/05/2018"]
assertThat(AllOrderDates, contains(recentFiveOrdersDates.toArray()));