Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package benchmarking;
- import java.util.ArrayList;
- import java.util.HashSet;
- import java.util.LinkedList;
- import java.util.Random;
- import java.util.TreeSet;
- public class Main {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- ArrayList<Integer> arrayList = new ArrayList<>(2000000);
- LinkedList<Integer> linkedList = new LinkedList<>();
- TreeSet<Integer> tree = new TreeSet<Integer>();
- HashSet<Integer> hash = new HashSet<Integer>();
- Random rand = new Random();
- int nrOfFoundItems = 0;
- System.out.println("items;ArrList insert random numbers;ArrList insert ordered numbers;ArrList search;LinkedList insert random numbers;LinkedList insert ordered numbers;TreeSet insert random numbers;TreeSet insert ordered numbers;TreeSet search;HashSet insert random numbers;HashSet insert ordered numbers;HashSet search");
- for (int N = 10000; N <= 200000; N = N + 10000) {
- // inserting random numbers into the tree:
- long startTime = 0;
- startTime = System.nanoTime();
- for (int i = 0; i < N; i++) {
- int number = rand.nextInt(1000);
- tree.add(number);
- }
- // System.out.println(tree);
- long estimatedTimeTree1 = System.nanoTime() - startTime;
- tree.clear();
- // inserting ordered numbers into the tree
- startTime = System.nanoTime();
- for (int i = 0; i < N; i++) {
- tree.add(i);
- }
- long estimatedTimeTree2 = System.nanoTime() - startTime;
- // searching ordered numbers in the tree
- startTime = System.nanoTime();
- for (int i = 0; i < N; i++) {
- if (tree.contains(i))
- nrOfFoundItems++;
- }
- long estimatedTimeTree3 = System.nanoTime() - startTime;
- tree.clear();
- /* hash table ********************************
- *
- */
- startTime = System.nanoTime();
- for (int i = 0; i < N; i++) {
- int number = rand.nextInt(1000);
- hash.add(number);
- }
- // System.out.println(tree);
- long estimatedTimeHash1 = System.nanoTime() - startTime;
- hash.clear();
- // inserting ordered numbers into the tree
- startTime = System.nanoTime();
- for (int i = 0; i < N; i++) {
- hash.add(i);
- }
- long estimatedTimeHash2 = System.nanoTime() - startTime;
- // searching ordered numbers in the tree
- startTime = System.nanoTime();
- for (int i = 0; i < N; i++) {
- if (hash.contains(i))
- nrOfFoundItems++;
- }
- long estimatedTimeHash3 = System.nanoTime() - startTime;
- hash.clear();
- /* arraylist *************************
- *
- */
- // inserting random numbers
- startTime = System.nanoTime();
- for (int i = 0; i < N; i++) {
- int number = rand.nextInt();
- arrayList.add(number);
- }
- long estimatedTimeAList1 = System.nanoTime() - startTime;
- arrayList.clear();
- // inserting ordered numbers
- startTime = System.nanoTime();
- for (int i = 0; i < N; i++) {
- arrayList.add(0, i);
- }
- long estimatedTimeAList2 = System.nanoTime() - startTime;
- // searching ordered numbers
- startTime = System.nanoTime();
- for (int i = 0; i < N; i++) {
- if (arrayList.contains(i))
- nrOfFoundItems++;
- }
- long estimatedTimeAList3 = System.nanoTime() - startTime;
- arrayList.clear();
- startTime = System.nanoTime();
- for (int i = 0; i < N; i++) {
- int number = rand.nextInt();
- linkedList.add(number);
- }
- long estimatedTimeLList1 = System.nanoTime() - startTime;
- linkedList.clear();
- // inserting ordered numbers
- startTime = System.nanoTime();
- for (int i = 0; i < N; i++) {
- linkedList.add(0, i);
- }
- long estimatedTimeLList2 = System.nanoTime() - startTime;
- linkedList.clear();
- System.out.println("" + N + ";" + estimatedTimeAList1 + ";" + estimatedTimeAList2 + ";"
- + estimatedTimeAList3 + ";" + estimatedTimeLList1 + ";" + estimatedTimeLList2 + ";"
- + estimatedTimeTree1 + ";" + estimatedTimeTree2 + ";" + estimatedTimeTree3 + ";"
- + estimatedTimeHash1 + ";" + estimatedTimeHash2 + ";" + estimatedTimeHash3 + ";"
- );
- }
- System.err.println("nrOfFoundItems=" + nrOfFoundItems);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement