简体   繁体   中英

How to check if List contains several elements in order

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.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM