如何提高与优化自己的代码

1. 在for循环下的拼接字符串尽量使用StringBuffer和StringBuilder,这样可以大大提高运算效率

非提倡:
List<String> list = new ArrayList<String>();
columnNameStr="";
for(String columnName : list) {
columnNameStr+= columnName;
}
提倡:
List<String> list = new ArrayList<String>();
columnNameStr ="";
StringBuffer sb = new StringBuffer
for(String columnName : list) {
sb.append(columnName).append(",") ;
}
columnNameStr = sb.toString();

2. 尽量不要在for循环中进行增删、改、查,最好先结合第一步(1),然后用XXX = in();

3.对于list集合来说,判断list集合为空,list.size()==0和list.isEmpty()的相率相当
@SuppressWarnings("rawtypes")
List list = new ArrayList();
long start = System.currentTimeMillis();
if (list.size() == 0) {
System.out.println("判断size的效率");
}
long end = System.currentTimeMillis();
System.out.println(end-start); // 0

@SuppressWarnings("rawtypes")
List list = new ArrayList();
long start = System.currentTimeMillis();
if (list.isEmpty()) {
System.out.println("判断isEmpty的效率");
}
long end = System.currentTimeMillis();
System.out.println(end-start) ;// 0

4.对于字符串采用split()时,如果匹配单字符,最好用str.split(",")而非str.split(str,','),前者的效率更高
long start = System.currentTimeMillis();
String str = "12,e3,4,54,657,8,89,0-=";
String[] strs = str.split(",");
//String[] strs = str.split(str, ',');
long end = System.currentTimeMillis();
System.out.println(end-start) ;// 0

long start = System.currentTimeMillis();
String str = "12,e3,4,54,657,8,89,0-=";
String[] strs = str.split(str, ',');
long end = System.currentTimeMillis();
System.out.println(end-start) ;// 2
5..对于字符串采用indexOf()时,如果匹配单字符,最好用str.indexOf(',')而非str.indexOf(","),lastIndexOf()也有相同情况


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值