几种拼接字符串的效率问题 .

简介: public class test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub long n = 30000; System.

public class test { 
 
/** 
* @param args 
*/ 
public static void main(String[] args) { 
// TODO Auto-generated method stub 
		long n = 30000;
		System.out.println("Start... "+n);  
		
        long start1 = System.currentTimeMillis();   
        String s1 = new String("hello");   
        for (long i = 0; i < n; i++)   
        {   
            s1+="拼接字符串的时间";   
        }   
        long end1 = System.currentTimeMillis();   
        long time1 = end1 -start1;   
        System.out.println("用String+=拼接字符串的时间"+time1);   
           
        long start2 = System.currentTimeMillis();   
        String s2 = new String("hello");   
        for (long i = 0; i < n; i++)   
        {   
            s2=s2+"拼接字符串的时间";   
        }   
        long end2 = System.currentTimeMillis();   
        long time2 = end2 -start2;   
        System.out.println("用String=String+拼接字符串的时间"+time2); 
        
        long start3 = System.currentTimeMillis();   
        String s3 = new String("hello");   
        for (long i = 0; i < n; i++)   
        {   
            s3=s3.concat("拼接字符串的时间");   
        }   
        long end3 = System.currentTimeMillis();   
        long time3 = end3 -start3;   
        System.out.println("用String.concat拼接字符串的时间"+time3); 
        
        long start4 = System.currentTimeMillis();   
        StringBuffer s4 = new StringBuffer("hello");   
        for (long i = 0; i < n; i++)   
        {   
        	s4.append("拼接字符串的时间");   
        }   
        long end4 = System.currentTimeMillis();   
        long time4 = end4 -start4;   
        System.out.println("用StringBuffer.append拼接字符串的时间"+time4);   
           
        long start5 = System.currentTimeMillis();   
        StringBuilder s5 = new StringBuilder("hello");   
        for (long i = 0; i < n; i++)   
        {   
        	s5.append("拼接字符串的时间");   
        }   
        long end5 = System.currentTimeMillis();   
        long time5 = end5 -start5;   
        System.out.println("用StringBuilder.append拼接字符串的时间"+time5);   
        
        System.out.println("End...");  
} 
 
} 


贴出一组检测数据如下:

用String+=拼接字符串的时间27468
用String=String+拼接字符串的时间25813
用String.concat拼接字符串的时间12265
用StringBuffer.append拼接字符串的时间14
用StringBuilder.append拼接字符串的时间8


目录
相关文章
|
人工智能 自然语言处理 Java
用Java正则表达式替换,告别繁琐的字符串操作
在Java编程中,我们经常需要处理字符串的替换操作。有时候,简单的字符串替换无法满足我们的需求,这时就需要借助正则表达式来完成更复杂的字符串替换任务。本文将介绍如何使用Java根据正则表达式替换字符串的方法,并通过实例说明其应用场景。
|
14天前
|
存储 缓存 搜索推荐
优化PHP数组性能
优化PHP数组性能
32 8
|
6月前
|
搜索推荐 Java
数组与字符串操作-高效率的数组方法
本文介绍了高效率的数组方法,包括遍历、查找、插入、删除、排序、合并、拷贝和扩容等操作,并提供了Java代码示例。高效的遍历可使用for循环或增强型for循环,查找则有线性搜索和二分搜索,插入根据是否保持有序有不同的时间复杂度,删除操作通常时间复杂度为O(n)。排序可使用快速、归并或堆排序,合并有序数组用双指针法,大数组拷贝用`System.arraycopy()`,扩容用`Arrays.copyOf()`或ArrayList。注意,这些操作的时间复杂度是平均情况,实际效率还受其他因素影响。示例代码展示了遍历、查找、插入和删除元素的实现。
C#拼接字符串(时间)
C#拼接字符串(时间)
137 0
|
小程序
一个对提升效率有立竿见影效果的方法
这其实是上周末制定这周的计划时,额外增加的一条。因为我发现自己的工作效率与手机的解锁次数是成反比的,即在一天之内手机解锁的次数越多,那么这一天的工作效率就越差。请把这个规律结合到自己身上自查一下,对于大部分人来讲(除了有些必须通过手机开展工作业务的人)应该都是有效的。
80 0
|
缓存 安全 Java
拼接字符串,还能这么玩
大家好,我是指北君。
拼接字符串,还能这么玩
|
C# 测试技术 程序员
|
算法 编译器 数据处理