How to check if List contains several elements in order

Viewed 1161

Let's say I have a List,

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

Is there a convenience method in Java that allows me to check this List to see if the elements C and D are on this list in that order?

Something along the lines of:

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

Where the above methods will return true but

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

will not?

Thank you for your time.

1 Answers

There is a method that can help (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));

It prints:

true
true
false
Related