Skip to content

Commit

Permalink
Containers in Depth: Exercise 30
Browse files Browse the repository at this point in the history
  • Loading branch information
kean0212 committed May 28, 2017
1 parent 54e137f commit 1a29691
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions ContainersInDepth/ListPerformance.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import java.util.Arrays;
import java.util.Collections;
import java.util.Random;
import java.util.Vector;
import java.util.List;
Expand All @@ -11,6 +12,7 @@ public class ListPerformance {
private static Random random = new Random(47);
private static List<Test<List<String>>> tests = new ArrayList<>();
private static List<Test<LinkedList<String>>> queueTests = new ArrayList<>();
private static List<Test<List<String>>> sortingTests = new ArrayList<>();

static {
// one way to instantiate an Abstract class
Expand Down Expand Up @@ -137,6 +139,18 @@ int test(LinkedList<String> list, TestParam testParam) {
return loops * listSize;
}
});
sortingTests.add(new Test<List<String>>("sort") {
int test(List<String> list, TestParam testParam) {
int loops = testParam.loops;
int listSize = testParam.size;
for (int i = 0; i < loops; ++i) {
list.clear();
list.addAll(generateStringList(listSize));
Collections.sort(list);
}
return loops;
}
});
}

private static class ListTester extends Tester<List<String>> {
Expand Down Expand Up @@ -190,5 +204,8 @@ protected List<String> initialize(int size) {
Tester<LinkedList<String>> queueTester = new Tester<>(new LinkedList<String>(), queueTests);
queueTester.setHeadline("Queue tests");
queueTester.timedTest();

ListTester.run(new ArrayList<String>(), sortingTests);
ListTester.run(new LinkedList<String>(), sortingTests);
}
}

0 comments on commit 1a29691

Please sign in to comment.