package testLocal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
public class TestHashSet {
private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS");
private static final int LOOP_COUNT = 100000;
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
HashSet<Integer> set = new HashSet<Integer>();
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < LOOP_COUNT; i++) {
list.add(i);
}
log("ArrayList start");
for (int iList : list) {
if (list.contains(iList)) {
// Nothing is done.
}
}
log("ArrayList end");
for (int i = 0; i < LOOP_COUNT; i++) {
set.add(i);
}
log("HashSet start");
for (int iSet : set) {
if (set.contains(iSet)) {
// Nothing is done.
}
}
log("HashSet end");
}
public static void log(final String str) {
System.out.println(sdf.format(new Date().getTime()) + " " + str);
}
}
结果:
2016/03/18 13:35:52.492 ArrayList start
2016/03/18 13:36:14.634 ArrayList end
2016/03/18 13:36:14.703 HashSet start
2016/03/18 13:36:14.710 HashSet end
很显然HashSet比ArrayList用的时间少的多