Java ArrayList indexOf() 方法 和 String indexOf() 方法区别
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() 方法区别相关推荐
- java indexof返回_Java String.indexOf返回值及使用方法
描述 java.lang.String.indexOf(int ch) 方法返回指数在此字符串中第一次出现的指定字符 如果输入的字符值ch发生在此String对象表示的字符序列,那么指数(Unicod ...
- Java中Object.equals与String.equals的区别
基础知识 Java的存储空间:寄存器.栈.堆.静态存储区.常量存储区(常量池).其他存储位置. 此处重点介绍堆和常量存储区: 堆:存储new的对象; 常量池:用来存储final static.Stri ...
- Java中toString方法和String.valueOf方法使用
在Java程序中,我发现一些人喜欢用toString()方法将获得的对象或数据直接转成字符串:看到这里我就有些疑惑了. toString()方法是object中的方法,默认打印的是地址的字符串格式,如 ...
- java startswith忽略大小写_Java String startsWith()方法与示例
字符串startsWith()方法 startsWith()方法是一个String类方法,用于检查给定的字符串是否以特定的字符序列开头. 如果字符串以给定的字符序列开头-startsWith()方法将 ...
- java中三种转string的方法_java中int,char,string三种类型的相互转换
如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将 ...
- java cha r转string_JAVA String.format 方法使用介绍
以下日期和时间转换的后缀字符是为 't' 和 'T' 转换定义的.这些类型相似于但不完全等同于那些由 GNU date 和 POSIX strftime(3c) 定义的类型.提供其他转换类型是为了访问 ...
- JAVA→封装类Wrapper、字符串String及其方法、==与equals()、正则表达式、StringBuilder与StringBuffer、内嵌类
封装类 字符串String String常用方法 ==与equals(),StringBuilder,StringBuffer 基本类型和String转换 正则表达式 StringBuilder,St ...
- String.indexOf()的四种方法
String.indexOf()的四种方法 String.indexOf(String str) 官方解释 : 返回此字符串中第一次出现指定子字符串的索引.返回的索引是最小值k ,其中: this.s ...
- java matcher replace_java.util.regex.Matcher.replaceFirst(String replacement)方法
java.util.regex.Matcher.replaceFirst(String replacement)方法用替换给定替换字符串的模式替换输入序列的第一个子序列. 声明 以下是java.uti ...
最新文章
- JSP自定义标签rtexprvalue属性
- 跟我学Spring Cloud(Finchley版)-16-Zuul
- ZCMU 1048: 子串
- Python机器学习Numpy, Scipy, Pandas, Scikit-learn, Matplotlib, Keras, NN速查手册
- 网络串流_串流NFL足球的最便宜方式(无需电缆)
- 读《可复制的领导力》
- Android之Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- AUTOSAR从入门到精通100讲(二十)-AUTOSAR通信篇—CanIf模块
- MySQL定时备份(全量备份+增量备份)
- 一不小心就踩坑的fail-fast是个什么鬼?
- python实现运动模糊图像_OpenCV+Python实现图像运动模糊和高斯模糊
- 阿里、京东、美团、百度面试总结
- 手把手玩转win8开发系列课程(20)
- js或jsp 获取项目路径常用方法
- [MySQL]ERROR 1822 : Failed to add the foreign key constraint. Missing index for
- 美团外卖Android平台化架构演进实践
- 带无线驱动的linux版本,CentOS 5.6 上安装支持802.11b/g无线网卡驱动具体过程
- 最小生成树问题:算法分析 Java 实现
- 5G时代到底会发生什么
- 如何用待办工具组织每周的任务清单