Java Collections lastIndexOfSubList() Method



Description

The Java Collections lastIndexOfSubList(List<?>, List<?>) method is used to get the starting position of the last occurrence of the specified target list within the specified source list.

Declaration

Following is the declaration for java.util.Collections.lastIndexOfSubList() method.

public static int lastIndexOfSubList(List<?> source, List<?> target)

Parameters

  • source − This is the list in which to search for the last occurrence of target.

  • target − This is the list to search for as a subList of source.

Return Value

The method call returns the starting position of the last occurrence of the specified target list within the specified source list, or -1 if there is no such occurrence.

Exception

NA

Getting Last Index of SubList of a List of Integers Example

The following example shows the usage of Java Collection lastIndexOfSubList(List,List) method. We've created a List object with some integers, printed the original list. Using lastIndexOfSubList(List, List) method, we've printed the last index of sublist of list.

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class CollectionsDemo {

   public static void main(String[] args) {
      List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3,3,5,3));

      System.out.println("Initial collection value: " + list);
      // print the last index of sublist.
      int result = Collections.lastIndexOfSubList(list, Arrays.asList(3,5,3));
      System.out.println("3,5,3 are present at: " + result);
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Initial collection value: [1, 2, 3, 3, 5, 3]
3,5,3 are present at: 3

Getting Last Index of SubList of a List of Strings Example

The following example shows the usage of Java Collection lastIndexOfSubList(List,List) method. We've created a List object with some strings, printed the original list. Using lastIndexOfSubList(List, List) method, we've printed the first index of sublist of list.

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class CollectionsDemo {

   public static void main(String[] args) {
      List<String> list = new ArrayList<>(Arrays.asList("A","B","C","D","C","C"));

      System.out.println("Initial collection value: " + list);
      // print the last index of sublist.
      int result = Collections.lastIndexOfSubList(list, Arrays.asList("C","D","C"));
      System.out.println("C, D, C are present at: " + result);
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Initial collection value: [A, B, C, D, C, C]
C, D, C are present at: 2

Getting Last Index of SubList of a List of Objects Example

The following example shows the usage of Java Collection lastIndexOfSubList(List,List) method. We've created a List object with some Student objects, printed the original list. Using lastIndexOfSubList(List, List) method, we've printed the last index of sublist of list.

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class CollectionsDemo {

   public static void main(String[] args) {
      List<Student> list = new ArrayList<>(Arrays.asList(new Student(1, "Julie"),
         new Student(2, "Robert"), new Student(3, "Adam"),new Student(1, "Julie")));

      System.out.println("Initial collection value: " + list);
      // print the last index of sublist
      int result = Collections.lastIndexOfSubList(list, Arrays.asList(new Student(3, "Adam"),new Student(1, "Julie")));
      System.out.println("Adam, Julie are present at: " + result);
   }
}
class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   
   @Override
   public boolean equals(Object obj) {
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Initial collection value: [[ 1, Julie ], [ 2, Robert ], [ 3, Adam ], [ 1, Julie ]]
Adam, Julie are present at: 2
java_util_collections.htm
Advertisements