Java—集合框架List的indexOf()、lastIndexOf()
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java—集合框架List的indexOf()、lastIndexOf()集合中某个元素出现的位置—List的indexOf(),lastIndexOf()
indexOf(Object obj)⽅法的实现机制是从序列(List)的第0个元素开始依次循环,并且调⽤每个元素的equals()⽅法和参数对象进⾏⽐较,如果某⼀个元素的equals()⽅法返回值为true,那么就把当前元素的索引位置作为结果返回。
假如序列中有多个重复的元素,只返回这个重复的元素第⼀次出现时所在的索引位置的值。
lastIndexOf(Object obj)⽅法,与indexOf()⽅法相反,它返回的是某个元素最后⼀次出现的索引位置的值,也就是它会从序列的队尾向队头进⾏遍历。
以上两个⽅法的参数对象如果在序列中都没有出现的话,那么这两个⽅法都会返回-1。
SetTest类部分⽰例代码:
package com.test.collection;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class SetTest {
public List<Course> coursesToSelect;
private Scanner console;
public static Student student;
public SetTest() {
coursesToSelect = new ArrayList<Course>();
console = new Scanner(System.in);
}
public void testAdd() {
Course c1 = new Course("1", "数据结构");//创建课程对象的实例
Course c2 = new Course("2", "C语⾔");
Course c3 = new Course("3", "离散数学");
Course c4 = new Course("4", "汇编语⾔");
Course c5 = new Course("5", "数据结构");
Course[] course = {c1, c2, c3, c4, c5};
coursesToSelect.addAll(Arrays.asList(course));
}
public void testListContains() {
System.out.println("请输⼊课程名称:");
String courseName = console.next();
Course c3 = new Course();
= courseName;
System.out.println("课程【" + + "】是否在备选课程中:" + coursesToSelect.contains(c3));
if (coursesToSelect.contains(c3)) {
System.out.println("课程:" + + "第⼀次出现的索引位置为:" + coursesToSelect.indexOf(c3));
System.out.println("课程:" + + "最后⼀次出现的索引位置为:" + stIndexOf(c3));
}
}
public static void main(String[] args) {
SetTest st = new SetTest();
st.testAdd();
st.testListContains();
}。