如何使用 Java 在列表中查找子列表



问题说明

如何在列表中查找子列表?

解决方案

以下示例使用 indexOfSubList() 和 lastIndexOfSubList() 来检查子列表是否在列表中,以及查找列表中子列表的最后出现位置。

import java.util.*;

public class Main {
   public static void main(String[] args) {
      List list = Arrays.asList("one Two three Four five six one three Four".split(" "));
      System.out.println("List :"+list);
      
      List sublist = Arrays.asList("three Four".split(" "));
      System.out.println("SubList :"+sublist);
      System.out.println(
         "indexOfSubList: " + Collections.indexOfSubList(list, sublist));
      
      System.out.println(
         "lastIndexOfSubList: " + Collections.lastIndexOfSubList(list, sublist));
   }
}

结果

以上代码示例将产生以下结果。

List :[one, Two, three, Four, five, six, one, three, Four]
SubList :[three, Four]
indexOfSubList: 2
lastIndexOfSubList: 7
java_collections.htm
广告