`
jimmee
  • 浏览: 529788 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java String字符串一些方法的性能说明及例子

阅读更多
1.length(),charAt(),substring()的运行时间是常量时间内完成。
2.toLowerCase()和replace()的运行时间与字符串的大小是线性关系。
3.compareTo()和startWith()需要的时间与所要解决问题所使用的字符数量成比例。在最佳情况下,是常量,在最坏的情况下,是线性的,但是indexOf可能很慢。
4.字符串连接需要的时间与在结果中的字符总数成比例。
5.给出倒序字符串的一种线性算法
public static String reverse(String s){
     int N=s.length();
     char [] a=new char[N];
     for(int i=0;i<N;i++){
        a[i]=s.charAt(N-i-1);
     }
   
     return new String(a);
}
6.The "beck" exploit(“beck”漏洞). In the Apache 1.2 web server, there is a function called no2slash whose purpose is to collapse multiple '/'s. For example /d1///d2////d3/test.html becomes /d1/d2/d3/test.html. The original algorithm was to repeatedly search for a '/' and copy the remainder of the string over.
void no2slash(char [] name) {
   int x, y;
   for(x = 0; x<name.length();
     if(x>0){
       if((name[x-1]=='/')&&(name[x]=='/'))
           for(y=x+1;y<name.length;y++){
                name[y-1]=name[y];
        }
        else x++;
     }      
}
上面的做法是二次方的。
如果使用线性的方式实现如下:
void no2slash(char [] name) {
     int offset=0;
    
     for(int i=2;i<name.length();i++){
         if(name[i-1]='/'&&name[i]=='/'){
              offset++;
         }
         else a[i-offset]=a[i];
     }
}

1
0
分享到:
评论

相关推荐

    Java字符、字符串、数组操作实例.rar

    Java字符、字符串、数组操作实例,主要是数组的复制、反转字符串中的字符、命令行参数、求字符串的长度及每一个位置上的字符、数组的排序、String类数组的操作等方面的例子,相信对初学者学习Java有帮助的。

    Java中String判断值为null或空及地址是否相等的问题

    主要介绍了Java中String判断值为null或空及地址是否相等的问题,文中举了简单的例子对字符串类型的值和地址问题进行讲解,需要的朋友可以参考下

    字符串处理例子一些相关的java代码

    字符串处理例子一些相关的java代码 在Java中,字符串是一个对象,不是字符的数组,这和其他编程语言不一样。java.lang.String定义了字符串类型。

    Java SE编程入门教程 String字符串(共27页).pptx

    Java SE编程入门教程 String字符串(共27页).pptx Java 位运算.docx java正则表达式例子大全 共10页.doc JAVA正则表达式实例教程 共17页.docx JAVA正则表达式实例教程 共17页.pdf 递归算法.docx 堆和栈.wps

    Java字符串详解

    内容讲解了Java的字符串实现String和StringBuffer,以及对应的方法,同时包含讲解的测试例子。

    java解析json字符串

    这个工程里面包含了解析json的jar,和解析json的一个小例子。 在运行这个工程时,需要重新,自行导入工程中,lib目录下的jar包 ...//将字符串转换成JSON对象 System.out.println(jsonObject.get("screen_name"));

    java-string-similarity:一个Java库,实现了几种计算字符串之间相似度的算法

    ,用于计算两个字符串之间的归一化距离或相似度分数。 0.0 分表示两个字符串绝对不相似,1.0 表示绝对相似(或相等)。 介于两者之间的任何内容都表示两个字符串的相似程度。例子在这个简单的例子中,我们想要计算...

    binary-string:验证值是否为二进制字符串

    二进制字符串 验证值是否为二进制字符串。安装$ npm install validate.io-binary-string 要在浏览器中使用,请使用 。用法 var isBinaryString = require ( 'validate.io-binary-string' ) ;isBinaryString( 值 ) ...

    Java中的字符串驻留

    近在工作的时候,一句再正常不过的代码String a = “hello” + “world”;被改成了new StringBuilder().append(“hello”)...那么我写几个例子来讲解什么叫Java中字符串的驻留: public class test {  public stati

    HtmlFormatter:一个纯净的Java便利类,用于将String格式化为HTML字符串

    HtmlFormatter 一个纯Java便利类,用于将String格式化为Html String。 它旨在与Android一起使用,但是由于它是纯Java,因此在Android领域之外应该可以正常使用,但是我不确定是否存在这种用例。例子。小的() ...

    java高亮例子 简单易懂

    java高亮显示 运算符, 如 +, -, *, /等 数字 高亮字符串, 如 "example of string" 高亮单行注释 高亮多行注释

    java编程中影响性能的一些点

     特别是String对象的使用中,出现字符串连接情况时应使用StringBuffer代替,由于系统不仅要花时间生成对象,以后可能还需要花时间对这些对象进行垃圾回收和处理。因此生成过多的对象将会给程序的性能带来很大的影响...

    Java进制转换方法整理

    一个二进制字符串 10进制转8进制 Integer.toOctalString(n) 一个八进制字符串 10进制转16进制 Integer.toHexString(n) 一个十六进制字符串 10进制转 R 进制 Integer.toString(100, 16) 一个R进制字符串 ...

    java中String类的知识

    这是我的听课笔记.觉得这个笔记对一些初学都了解String类很有帮助.里面有String类的方法的例子

    JavaSciprt中处理字符串之sup()方法的使用教程

    这种方法会导致字符串显示为上标,就好像它是在一个标记。 语法 string.sup( ) 下面是参数的详细信息: NA 返回值: 返回字符串带有标记 例子: &lt;html&gt; &lt;head&gt; &lt;title&gt;JavaScript String sup...

    VolleyStringDemo:这是用的Volley框架做的访问网站String字符串的例子

    VolleyStringDemo 这是用的Volley框架做的访问网站String字符串的例子

    Java SE编程入门教程 java判断循环(共79页).ppt

    Java SE编程入门教程 String字符串(共27页).pptx Java 位运算.docx java正则表达式例子大全 共10页.doc JAVA正则表达式实例教程 共17页.docx JAVA正则表达式实例教程 共17页.pdf 递归算法.docx 堆和栈.wps

    Java SE编程入门教程 java泛型(共11页).pptx

    Java SE编程入门教程 String字符串(共27页).pptx Java 位运算.docx java正则表达式例子大全 共10页.doc JAVA正则表达式实例教程 共17页.docx JAVA正则表达式实例教程 共17页.pdf 递归算法.docx 堆和栈.wps

    Java SE编程入门教程 java序列化(共14页).pptx

    Java SE编程入门教程 String字符串(共27页).pptx Java 位运算.docx java正则表达式例子大全 共10页.doc JAVA正则表达式实例教程 共17页.docx JAVA正则表达式实例教程 共17页.pdf 递归算法.docx 堆和栈.wps

    Java SE编程入门教程 java类和对象方法以及包的使用(共62页).pptx

    Java SE编程入门教程 String字符串(共27页).pptx Java 位运算.docx java正则表达式例子大全 共10页.doc JAVA正则表达式实例教程 共17页.docx JAVA正则表达式实例教程 共17页.pdf 递归算法.docx 堆和栈.wps

Global site tag (gtag.js) - Google Analytics