?? testsetperformance.java
字號:
import java.util.*;
public class TestSetPerformance {
private static int REPTEXEC = 10000;
private static int QUANTITY = 100;
public static void main(String[] args) {
System.out.println(REPTEXEC + " repetitions");
testSet(new TreeSet());
testSet(new HashSet());
testSet(new LinkedHashSet());
} // main方法結束
public static void fill(Collection c, int count) {
for(int i = 0; i < count; i++)
c.add(Integer.toString(i));
} // fill方法結束
public static void testSet(Set a) {
System.out.println("_____________________________________");
System.out.println("測試" + a.getClass().getName().replaceAll("\\w+\\.", ""));
fill(a, QUANTITY);
// 測試size()
long start = System.currentTimeMillis();
for (int i = 0; i < REPTEXEC; i++) {
for (int j = 0; j < QUANTITY; j++)
a.size();
}
long end = System.currentTimeMillis();
System.out.println("取大小操作用時: " + (end - start));
// 測試迭代操作
start = System.currentTimeMillis();
for (int i = 0; i < REPTEXEC; i++) {
Iterator it = a.iterator();
while (it.hasNext())
it.next();
}
end = System.currentTimeMillis();
System.out.println("迭代操作用時: " + (end - start));
// 測試包含操作
for(int i = 0; i < REPTEXEC; i++)
a.contains(Integer.toString(i));
end = System.currentTimeMillis();
System.out.println("包含操作用時: " + (end - start));
// 測試增加操作
String s = "test";
start = System.currentTimeMillis();
for (int j = 0; j < REPTEXEC * 10; j++)
a.add(s);
end = System.currentTimeMillis();
System.out.println("增加操作用時: " + (end - start));
} // testSet方法結束
} // TestSetPerformance方法結束
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -