當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Java Collections indexOfSubList()用法及代碼示例

java.util.Collections類的indexOfSubList()方法用於返回指定源列表中指定目標列表第一次出現的起始位置,如果沒有出現,則返回-1。更正式地,返回最低索引i,以使source.subList(i,i + target.size()).equals(target)或-1(如果沒有這樣的索引)。 (如果target.size()> source.size(),則返回-1。)

此實現使用“brute force”技術掃描源列表,依次在每個位置查找與目標的匹配項。

用法:


public static int indexOfSubList(List source, List target)

參數:該方法將以下參數作為參數

  • source –在其中搜索首次出現的目標的列表。
  • target –要搜索的列表作為源的子列表。
  • 返回值:此方法返回指定源列表中指定目標列表第一次出現的起始位置,如果沒有出現,則返回-1。

    以下示例說明了indexOfSubList()方法

    示例1:

    // Java program to demonstrate 
    // indexOfSubList() method 
    // for String value 
      
    import java.util.*; 
      
    public class GFG1 { 
        public static void main(String[] argv) 
            throws Exception 
        { 
            try { 
      
                // creating object of List<String> 
                List<String> arrlistsrc = new ArrayList<String>(); 
                List<String> arrlisttarget = new ArrayList<String>(); 
      
                // Adding element to arrlistsrc 
                arrlistsrc.add("A"); 
                arrlistsrc.add("B"); 
                arrlistsrc.add("C"); 
                arrlistsrc.add("D"); 
                arrlistsrc.add("E"); 
      
                // Adding element to arrlisttarget 
                arrlisttarget.add("C"); 
                arrlisttarget.add("D"); 
                arrlisttarget.add("E"); 
      
                // print the source list 
                System.out.println("Source list: " + arrlistsrc); 
      
                // print the target list 
                System.out.println("Target list: " + arrlisttarget); 
      
                // check target list in source list 
                int index = Collections 
                                .indexOfSubList(arrlistsrc, 
                                                arrlisttarget); 
      
                // print the index 
                System.out.println("Target list starts at index: "
                                   + index); 
            } 
      
            catch (IllegalArgumentException e) { 
                System.out.println("Exception thrown : " + e); 
            } 
        } 
    }
    輸出:
    Source list: [A, B, C, D, E]
    Target list: [C, D, E]
    Target list starts at index: 2
    

    示例2:

    // Java program to demonstrate 
    // indexOfSubList() method 
    // for Integer value 
      
    import java.util.*; 
      
    public class GFG1 { 
        public static void main(String[] argv) 
            throws Exception 
        { 
            try { 
      
                // creating object of List<Integer> 
                List<Integer> arrlistsrc = new ArrayList<Integer>(); 
                List<Integer> arrlisttarget = new ArrayList<Integer>(); 
      
                // Adding element to arrlistsrc 
                arrlistsrc.add(20); 
                arrlistsrc.add(30); 
                arrlistsrc.add(40); 
                arrlistsrc.add(50); 
                arrlistsrc.add(60); 
      
                // Adding element to arrlisttarget 
                arrlisttarget.add(40); 
                arrlisttarget.add(50); 
      
                // print the source list 
                System.out.println("Source list: " + arrlistsrc); 
      
                // print the target list 
                System.out.println("Target list: " + arrlisttarget); 
      
                // check target list in source list 
                int index = Collections 
                                .indexOfSubList(arrlistsrc, 
                                                arrlisttarget); 
      
                // print the index 
                System.out.println("Target list starts at index: "
                                   + index); 
            } 
      
            catch (IllegalArgumentException e) { 
                System.out.println("Exception thrown : " + e); 
            } 
        } 
    }
    輸出:
    Source list: [20, 30, 40, 50, 60]
    Target list: [40, 50]
    Target list starts at index: 2
    


相關用法


注:本文由純淨天空篩選整理自RohitPrasad3大神的英文原創作品 Collections indexOfSubList() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。