Java 集合 lastIndexOfSubList() 方法



描述

Java 集合 lastIndexOfSubList(List<?>, List<?>) 方法用于获取指定目标列表在指定源列表中最后一次出现的起始位置。

声明

以下是 java.util.Collections.lastIndexOfSubList() 方法的声明。

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

参数

  • source − 这是要在其中搜索目标最后一次出现的列表。

  • target − 这是要作为 source 的子列表搜索的列表。

返回值

方法调用返回指定目标列表在指定源列表中最后一次出现的起始位置,如果不存在这样的出现,则返回 -1。

异常

获取整数列表子列表的最后一个索引示例

以下示例演示了 Java 集合 lastIndexOfSubList(List,List) 方法的用法。我们创建了一个包含一些整数的 List 对象,打印了原始列表。使用 lastIndexOfSubList(List, 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);
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

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

获取字符串列表子列表的最后一个索引示例

以下示例演示了 Java 集合 lastIndexOfSubList(List,List) 方法的用法。我们创建了一个包含一些字符串的 List 对象,打印了原始列表。使用 lastIndexOfSubList(List, 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);
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

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

获取对象列表子列表的最后一个索引示例

以下示例演示了 Java 集合 lastIndexOfSubList(List,List) 方法的用法。我们创建了一个包含一些 Student 对象的 List 对象,打印了原始列表。使用 lastIndexOfSubList(List, 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);
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

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