List中contains()方法和indexOf()方法的区别?

来源:6-1 学生选课---判断 List 中课程是否存在

锦衣夜行_0

2016-11-03 20:29

这一节中老师讲到了判断一个集合中是否有某个元素可以用contains()方法,可我看到contains()的返回值直接就是indexOf()是否大于等于0,如图:

http://img.mukewang.com/581b2ca80001a0d805920243.jpg

那么为什么还要用contains()方法呢?

还有我在一个集合中存放了一个字符串"a",这时我调用contains()方法查找"a",得到的是true,而我用indexOf()查找"a"时却返回了-1,这是为什么呢?


写回答 关注

1回答

  • vampirexxj4020184
    2016-11-04 11:48:10

    indexOf要求你传入的参数是数值,是它的位置,而不是你存储的东西

    比如说你是这么存的    0    bob

                                      1     jane

                                     2      lucy

    这时,你调用indexof(1),查找到的是Jane

    锦衣夜行_0

    不是的,传入的参数是你要搜索的元素,返回值是集合中第一次出现的指定元素的位置;如果此列表不包含该元素,则返回 -1。java API是这么写的,你可以去查找一下^-^

    2016-11-04 20:21:34

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题