我两中方法都试过了,但是被没有像视频中的老师说的那样一个正序一个倒序,两个索引结果给的位置一样,是我写错代码,还是怎样呢,有人知道嘛?
if(coursesToSelect.contains(course2)) /* //正序数 System.out.println("课程:"+course2.name+"的索引位置"+ coursesToSelect.indexOf(course2));*/ //倒序数 System.out.println("课程:"+course2.name+"的索引位置"+ coursesToSelect.lastIndexOf(course2));
结果是一样的,都为:
添加课程1:数据结构
添加课程2:C语言
添加了两门课程3:数学分析;4:高等数学
添加了两门课程5:高等代数;6:Java语言
取得课程C语言
备选课程中是否包含:C语言,true
请输入课程名称:
高等数学
新创建课程:高等数学
备选课程中是否包含课程:高等数学,true
课程:高等数学的索引位置5
有如下课程可选
课程2:C语言
课程1:数据结构
课程5:高等代数
课程6:Java语言
课程3:数学分析
课程4:高等数学
序号是固定的,indexOf是从从前往后第一次出现的序号,lastindexOf的从前往后最后一次出现的序号,由于序列中只有一个高等数学所以得到的索引值是一样的
没明白,就那我写的这个例子,顺序
课程2:C语言
课程1:数据结构
课程5:高等代数
课程6:Java语言
课程3:数学分析
课程4:高等数学
高等数学的索引位置 正序不应该为5,倒叙为0吗???
倒序的意思是程序遍历的起点从后面开始,如果你有两个元素是相同的,一个在2位置,一个在6位置,那么你使用indexOf,程序就从正序也就是0位置开始查找,找到第一个匹配的元素,返回位置2;如果你使用lastIndexOf,程序就从倒序也就是最后一个开始查找,找到第一个匹配的元素,返回位置6;如果查找的元素只有一个,那么无论正序还是倒序查找,始终只有一个匹配的值,返回的位置也就都想通了。
倒序的意思是程序遍历的起点从后面开始,如果你有两个元素是相同的,一个在2位置,一个在6位置,那么你使用indexOf,程序就从正序也就是0位置开始查找,找到第一个匹配的元素,返回位置2;如果你使用lastIndexOf,程序就从倒序也就是最后一个开始查找,找到第一个匹配的元素,返回位置6;如果查找的元素只有一个,那么无论正序还是倒序查找,始终只有一个匹配的值,返回的位置也就都想通了。