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

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


public class Testif {
public static void main(String[] args) {
List lsSqlTypeInt =new ArrayList();
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 lsSqlTypeInt =new ArrayList();
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

你可能感兴趣的:(作大量条件判断哪个效率更高.if和三目运算符等的效率判断--------什么叫效率...)