如何检查列表中是否按顺序包含多个元素

4

假设我有一个列表,

Arrays.asList("A","B","C","D");

Java中是否有便捷的方法,允许我检查这个列表,以查看元素C和D是否按照顺序在此列表中出现?

类似于以下内容:

Collections.containsOrderedElements(list,"C","D");
Collections.containsOrderedElements(list,"A","B","C");

以上方法将返回true,但是...
Collections.containsOrderedElements(list,"A","C");

不会吗?

感谢您的时间。


列表是否总是排序的,还是也可以是未排序的? - Utsav
1
不好意思,在Java核心中不存在这样的方法。 - Joe C
1个回答

12

有一种方法可以帮助找出子列表在源列表中的位置(Collections.indexOfSubList(sourceList,subList)):

List<String> list = Arrays.asList("A", "B", "C", "D");

System.out.println( (Collections.indexOfSubList(list, Arrays.asList("C", "D"))>= 0));
System.out.println( (Collections.indexOfSubList(list, Arrays.asList("A","B","C"))>= 0));
System.out.println( (Collections.indexOfSubList(list, Arrays.asList("A", "C"))>= 0));

它打印出:

true
true
false

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接