这两个自定义比较器中哪一个效率最高? (用在数千阵列的矢量)自定义比较器的效率
//Compares arrays by their first element, then second if equal
Comparator<String[]> comparator = new Comparator<String[]>() {
public int compare(String[] c1, String[] c2) {
int comparison;
if((comparison=(c1[0].compareTo(c2[0])))==0) return c1[1].compareTo(c2[1]);
else return comparison;
}
};
//Compares arrays by their first element, then second if equal
Comparator<String[]> comparator = new Comparator<String[]>() {
public int compare(String[] c1, String[] c2) {
if(c1[0].compareTo(c2[0])==0) return c1[1].compareTo(c2[1]);
else return c1[0].compareTo(c2[0]);
}
}
您是否尝试过对它们进行基准测试? – JonK
或看到这些甚至被编译成不同的字节码? – pamphlet
也许你应该去问代码审查? http://codereview.stackexchange.com/ – 1337