Tìm sublist trong một list trong Java



Miêu tả vấn đề

Cách tìm một sublist trong một List trong Java?

Giải pháp

Ví dụ sau minh họa cách sử dụng phương thức indexOfSubList() để kiểm tra trong list này có một sublist không và lastIndexOfSubList() để tìm vị trí xuất hiện sublist cuối cùng trong list đã cho.

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));
   }
}

Kết quả

Code trên sẽ cho kết quả sau:

List :[one, Two, three, Four, five, six, one, three, Four]
SubList :[three, Four]
indexOfSubList: 2
lastIndexOfSubList: 7

collection_trong_java.jsp