Java ArrayList indexOf() 方法 和 String indexOf() 方法区别

文章详细介绍了Java中ArrayList的indexOf()方法和String类的indexOf()方法,包括它们的用法、返回值以及可能出现的-1情况。还提到了lastIndexOf()方法,并指出ArrayList的索引不包含分隔符,而String的索引包括所有字符。
摘要由CSDN通过智能技术生成

1、ArrayList indexOf() 方法

indexOf(Object obj) 方法返回动态数组中元素的索引值。

返回的值为:

返回在数组中最先出现 obj 元素的索引值,索引下标从0开始

如果动态数组中不存在指定的元素,则该 indexOf() 方法返回 -1

ArrayList<String> aa = new ArrayList<>();
aa.add("上海");
aa.add("北京");
aa.add("a");
aa.add("p");
aa.add("p");
System.out.println(aa); // [上海, 北京, a, p, p]
int b = aa.indexOf("app");
int e = aa.indexOf("海");
int f = aa.indexOf("北京");
int h = aa.indexOf("p");
System.out.println(b);//结果为 -1 因为不存在 app 的值
System.out.println(e);//结果为 -1 因为不存在 海 的值
System.out.println(f);//结果为 1  北京出现的位置索引下标为1
System.out.println(h);//结果为 3  p第一次出现的位置索引下标为3

 2、String indexOf(String str) 方法

indexOf(String str) 方法可返回某个指定的字符串值在字符串中首次出现的位置,索引下标从0开始

如果没有找到匹配的字符串则返回 -1。

String a = "A,B2,CDF,D,F";
int c = a.indexOf("B");
int g = a.indexOf("D");
int j = a.indexOf("F");
int k = a.indexOf("上");
int u = a.indexOf("D",7);
System.out.println(c);//结果为:2  B出现的位置索引下标为2
System.out.println(g);//结果为:6  D出现的位置索引下标为6
System.out.println(j);//结果为:7  F出现的位置索引下标为7
System.out.println(k);//结果为:-1 上 未出现返回-1
System.out.println(u);//结果为:9  在第7个位置开始查找字符 "D" 第一次出现的位置,所以是9

3、string.indexOf(String str,int  fromIndex)方法

str:需要检索的字符串值

fromIndex:规定在字符串中开始检索的位置

String a = "A,B2,CDF,D,F";
int u = a.indexOf("D",7);
System.out.println(u);//结果为:9  在第7个位置开始查找字符 "D" 第一次出现的位置,所以是9

 4、两者之间的区别

ArrayList:indexOf(Object obj) 方法返回动态数组中元素的索引值首次出现的位置

String:     indexOf(String str) 方法可返回某个指定的字符串值在字符串中首次出现的位置

5、最容易误导的地方是

比如上面的举例:

String字符串中有 , (逗号),也是算索引下标的

而ArrayList:返回 [上海, 北京, a, p, p] 其中 (逗号) 是不算下标的,就是根据数组的值查下标,

其中查询  int b = aa.indexOf("app"), 并不是 数组中的【a,p,p】

如果数组中有 【上海, 北京, a, p, p,app】则返回5

6、 拓展:ArrayList lastIndexOf() 方法 和 String lastIndexOf() 方法

ArrayList:lastIndexOf(Object obj) 方法返回动态数组中元素的索引值最后出现的位置

String:     lastIndexOf(String str) 方法可返回某个指定的字符串值在字符串中最后出现的位置

 

### 回答1: ArrayListindexOf方法可以用来查找某个特定元素在ArrayList中的索引位置,如果没有找到该元素,则返回-1。例如,我们可以创建一个ArrayList,并将元素1,2,3,4,5添加到其中,然后使用indexOf方法来查找3的索引位置。ArrayListindexOf方法返回2,这表明3的索引位置是2。 ### 回答2: ArrayListindexOf方法是用来查找指定元素在ArrayList中第一次出现的位置索引的方法。 该方法的语法如下: int indexOf(Object o) 其中,参数o表示要查找的元素。方法返回的是元素o在ArrayList中第一次出现的索引位置,如果ArrayList中不包含该元素,则返回-1。 举个例子来说明,假设有一个ArrayList存储了一些字符串: ArrayList<String> arrayList = new ArrayList<>(); arrayList.add("apple"); arrayList.add("banana"); arrayList.add("orange"); arrayList.add("banana"); arrayList.add("peach"); 现在我们要查找字符串"banana"在ArrayList中第一次出现的位置,可以使用indexOf方法: int index = arrayList.indexOf("banana"); 由于"banana"第一次出现的索引是1,所以上述代码执行后,index的值为1。 如果要查找的元素在ArrayList中不存在,比如查找字符串"grape"的位置,可以使用下面的代码: int index = arrayList.indexOf("grape"); 由于"grape"不存在于ArrayList中,所以返回的index值为-1。 需要注意的是,indexOf方法只能用于查找某个元素第一次出现的索引,如果要查找所有相同元素的索引,可以使用循环结合indexOf方法进行实现。 ### 回答3: ArrayListJava中的一种集合类,用于存储对象。它提供了很多方法来对集合进行操作,其中一个重要的方法indexOf(int index)。 indexOf方法用于返回列表中首次出现指定元素的索引。如果列表不包含该元素,则返回-1。该方法的参数为要查找的元素。 举个例子,假设我有一个ArrayList来存储学生的姓名,如下所示: ArrayList<String> studentList = new ArrayList<String>(); studentList.add("张三"); studentList.add("李四"); studentList.add("王五"); studentList.add("赵六"); 现在,我想要查找姓"李"的学生在列表中的位置,我可以使用indexOf方法来实现。 int index = studentList.indexOf("李四"); System.out.println("李四的索引位置是:" + index); 运行以上代码,控制台会输出"李四的索引位置是:1"。这表示在列表中,"李四"的索引位置是1,即第二个元素。 如果我们查找一个不存在的元素,比如"小明": int index = studentList.indexOf("小明"); System.out.println("小明的索引位置是:" + index); 运行以上代码,控制台会输出"小明的索引位置是:-1"。这表示在列表中并没有找到"小明",因此返回值为-1。 总之,ArrayListindexOf方法通过比较元素来确定元素在列表中的位置,并返回对应的索引值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值