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) 方法可返回某个指定的字符串值在字符串中最后出现的位置

Java ArrayList indexOf() 方法 和 String indexOf() 方法区别相关推荐

  1. java indexof返回_Java String.indexOf返回值及使用方法

    描述 java.lang.String.indexOf(int ch) 方法返回指数在此字符串中第一次出现的指定字符 如果输入的字符值ch发生在此String对象表示的字符序列,那么指数(Unicod ...

  2. Java中Object.equals与String.equals的区别

    基础知识 Java的存储空间:寄存器.栈.堆.静态存储区.常量存储区(常量池).其他存储位置. 此处重点介绍堆和常量存储区: 堆:存储new的对象; 常量池:用来存储final static.Stri ...

  3. Java中toString方法和String.valueOf方法使用

    在Java程序中,我发现一些人喜欢用toString()方法将获得的对象或数据直接转成字符串:看到这里我就有些疑惑了. toString()方法是object中的方法,默认打印的是地址的字符串格式,如 ...

  4. java startswith忽略大小写_Java String startsWith()方法与示例

    字符串startsWith()方法 startsWith()方法是一个String类方法,用于检查给定的字符串是否以特定的字符序列开头. 如果字符串以给定的字符序列开头-startsWith()方法将 ...

  5. java中三种转string的方法_java中int,char,string三种类型的相互转换

    如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将 ...

  6. java cha r转string_JAVA String.format 方法使用介绍

    以下日期和时间转换的后缀字符是为 't' 和 'T' 转换定义的.这些类型相似于但不完全等同于那些由 GNU date 和 POSIX strftime(3c) 定义的类型.提供其他转换类型是为了访问 ...

  7. JAVA→封装类Wrapper、字符串String及其方法、==与equals()、正则表达式、StringBuilder与StringBuffer、内嵌类

    封装类 字符串String String常用方法 ==与equals(),StringBuilder,StringBuffer 基本类型和String转换 正则表达式 StringBuilder,St ...

  8. String.indexOf()的四种方法

    String.indexOf()的四种方法 String.indexOf(String str) 官方解释 : 返回此字符串中第一次出现指定子字符串的索引.返回的索引是最小值k ,其中: this.s ...

  9. java matcher replace_java.util.regex.Matcher.replaceFirst(String replacement)方法

    java.util.regex.Matcher.replaceFirst(String replacement)方法用替换给定替换字符串的模式替换输入序列的第一个子序列. 声明 以下是java.uti ...

最新文章

  1. JSP自定义标签rtexprvalue属性
  2. 跟我学Spring Cloud(Finchley版)-16-Zuul
  3. ZCMU 1048: 子串
  4. Python机器学习Numpy, Scipy, Pandas, Scikit-learn, Matplotlib, Keras, NN速查手册
  5. 网络串流_串流NFL足球的最便宜方式(无需电缆)
  6. 读《可复制的领导力》
  7. Android之Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
  8. AUTOSAR从入门到精通100讲(二十)-AUTOSAR通信篇—CanIf模块
  9. MySQL定时备份(全量备份+增量备份)
  10. 一不小心就踩坑的fail-fast是个什么鬼?
  11. python实现运动模糊图像_OpenCV+Python实现图像运动模糊和高斯模糊
  12. 阿里、京东、美团、百度面试总结
  13. 手把手玩转win8开发系列课程(20)
  14. js或jsp 获取项目路径常用方法
  15. [MySQL]ERROR 1822 : Failed to add the foreign key constraint. Missing index for
  16. 美团外卖Android平台化架构演进实践
  17. 带无线驱动的linux版本,CentOS 5.6 上安装支持802.11b/g无线网卡驱动具体过程
  18. 最小生成树问题:算法分析 Java 实现
  19. 5G时代到底会发生什么
  20. 如何用待办工具组织每周的任务清单

热门文章

  1. 高德地图根据点标记位置自动调整地图缩放级别
  2. [SCTF2019]Flag Shop erb模板注入
  3. OpenGL中使用中点画圆法画圆
  4. Windows桌面鼠标右键菜单清理
  5. 读书笔记——弗洛伊德《梦的解析》
  6. 2020小迪安全第八天笔记-(信息收集)架构,搭建,WAF 等
  7. 计算标准差分母是n还是n-1?
  8. Dynamics CRM 无法导出数据
  9. 并网逆变器学习笔记1---虚拟同步机控制(VSG)
  10. CocosCreator微信小游戏排行榜开发