美文网首页
java String的split和index

java String的split和index

作者: 斯卡碧 | 来源:发表于2016-06-19 00:31 被阅读0次
    split(regex, limit)
    indexOf(str)

    split使用正则分割。

    开始以为正则慢于indexOf,其实不对。

    后来学习字符串查找的3个实现:朴素算法、正则DFA、KMP,方知jdk如此实现很有道理。正则DFA和KMP的时间复杂度是O(n),而朴素是O(m(n-m+1))。

    java实现的split在regex长度是1且不是正则的内置字符,或长度是2但其实是转义字符时会直接使用indexOf,因为此时m=1。

    所以查找时尽量用正则或KMP,而不是indexOf。

    相关文章

      网友评论

          本文标题:java String的split和index

          本文链接:https://www.haomeiwen.com/subject/rxdbdttx.html