作大量条件判断哪个效率更高.if和三目运算符等的效率判断--------什么叫效率...

import java.util.ArrayList;
import java.util.List;


public class Testif {
public static void main(String[] args) {
List<String> lsSqlTypeInt =new ArrayList<String>();
for(int i=0;i<10;i++){
lsSqlTypeInt.add(""+i);

}
long tls = System.currentTimeMillis();
for(int j=0; j<1000000000;j++){
String y="1";
y=lsSqlTypeInt.contains("1")?"1":"2";
}
long tls2 = System.currentTimeMillis();

long tif = System.currentTimeMillis();
for(int k=0; k<1000000000;k++){
String z="1";
if(z.equals("1")){
z="1";
}
if(z.equals("2")){
z="2";
}
if(z.equals("3")){
z="3";
}
if(z.equals("4")){
z="4";
}
if(z.equals("5")){
z="5";
}
if(z.equals("6")){
z="6";
}
if(z.equals("7")){
z="7";
}
if(z.equals("8")){
z="8";
}
if(z.equals("9")){
z="9";
}
if(z.equals("0")){
z="10";
}
}
long tif2 = System.currentTimeMillis();

System.out.println(tls2-tls);
System.out.println(tif2-tif);

}
}
输出结果:
62735
169297
我自个测的,目的是判断用list与用if作大量条件判断哪个效率更高

修改一下:
import java.util.ArrayList;
import java.util.List;


public class Testif {
public static void main(String[] args) {
List<String> lsSqlTypeInt =new ArrayList<String>();
for(int i=0;i<10;i++){
lsSqlTypeInt.add(""+i);

}
// long tt1 = System.currentTimeMillis();
// for(int j=0; j<1000000000;j++){
// String sflag="";
// String y="1";
// sflag=lsSqlTypeInt.contains(y)?"1":"2";
// }
// long tt2 = System.currentTimeMillis();



long tif = System.currentTimeMillis();
for(int k=0; k<1000000000;k++){
String sflag2="";
String z=(k%10)+"";
if(z.equals("1")){
sflag2="1";
}else if(z.equals("2")){
sflag2="2";
}else if(z.equals("3")){
sflag2="3";
}else if(z.equals("4")){
sflag2="4";
}else if(z.equals("5")){
sflag2="5";
}else if(z.equals("6")){
sflag2="6";
}else if(z.equals("7")){
sflag2="7";
}else if(z.equals("8")){
sflag2="8";
}else if(z.equals("9")){
sflag2="9";
}else if(z.equals("0")){
sflag2="10";
}else{

}
}
long tif2 = System.currentTimeMillis();


long tls = System.currentTimeMillis();
for(int j=0; j<1000000000;j++){
String sflag="";
String y=(j%10)+"";
sflag=lsSqlTypeInt.contains(y)?"1":"2";
}
long tls2 = System.currentTimeMillis();




System.out.println(tls2-tls);
System.out.println(tif2-tif);

}
}
输出结果:
480359
422484
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值