JAVA-String类的indexof方法

本文探讨了字符串的indexOf方法在查找单字符和字符串时的效率与复杂度。对于单字符查找,由于其固定长度和Unicode编码,复杂度为O(n)。而字符串查找需遍历子串,复杂度为O(n*l),l为被查找字符串长度。虽然在l=1时两者等效,但单字符查找在逻辑上更为高效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

indexof方法支持字符串和字符两种查找方法。

字符由于固定长度为1个且有对应unicode编码,所以查找一遍遍历即可,int类型四个字节分high和low两部分。查找算法复杂度为O(n)。

字符串查找会比较麻烦,需要被查找的字符串全部都包含于源字符串中。所以存在一遍遍历内的被查找字符串遍历,复杂度为O(n*l)。
虽然当l为1时两个查找方法会等效,但从执行逻辑效率来看,单字符的查找方法更高效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值