Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Comparator;
- import java.util.HashMap;
- import java.util.LinkedList;
- import java.util.List;
- import java.util.Map;
- import java.util.Map.Entry;
- import java.util.Scanner;
- public class Main {
- public static void main(String[] args) {
- ArrayList<Integer> arrList = new ArrayList<>();
- LinkedList<Integer> linkedList = new LinkedList<>();
- for (int i = 0; i < 1_000_000; i++) {
- arrList.add(i);
- linkedList.add(i);
- }
- //GETTING AN ELEMENT
- //ArrayList
- final long startTimeArLGetEl = System.nanoTime();
- linkedList.get(500_000);
- final long endTimeArLGetEl = System.nanoTime();
- long totalTimeArLGetEl = endTimeArLGetEl - startTimeArLGetEl;
- //LinkedList
- final long startTimeLLGetEl = System.nanoTime();
- linkedList.get(500_000);
- final long endTimeLLGetEl = System.nanoTime();
- long totalTimeLLGetEl = endTimeLLGetEl - startTimeArLGetEl;
- System.out.println("GETTING AN ELEMENT TIMING: ");
- System.out.println("Arraylist getting time: " + totalTimeArLGetEl);
- System.out.println("LinkedList getting time: " + totalTimeLLGetEl);
- winner(totalTimeArLGetEl, totalTimeLLGetEl);
- //REMOVING AN ELEMENT
- //ArrayList
- final long startTimeArLRemoveEl = System.nanoTime();
- linkedList.remove(500_000);
- final long endTimeArLRemoveEl = System.nanoTime();
- long totalTimeArLRemoveEl = endTimeArLRemoveEl - startTimeArLRemoveEl;
- //LinkedList
- final long startTimeLLRemoveEl = System.nanoTime();
- linkedList.remove(500_000);
- final long endTimeLLRemoveEl = System.nanoTime();
- long totalTimeLLRemoveEl = endTimeLLRemoveEl - startTimeLLRemoveEl;
- System.out.println("REMOVING AN ELEMENT TIMING: ");
- System.out.println("Arraylist removing time: " + totalTimeArLRemoveEl);
- System.out.println("LinkedList removing time: " + totalTimeLLRemoveEl);
- winner(totalTimeArLRemoveEl, totalTimeLLRemoveEl);
- //ADDING AN ELEMENT
- //ArrayList
- final long startTimeArLAddEl = System.nanoTime();
- linkedList.add(500_000, 1);
- final long endTimeArLAddEl = System.nanoTime();
- long totalTimeArLAddEl = endTimeArLAddEl - startTimeArLAddEl;
- //LinkedList
- final long startTimeLLAddEl = System.nanoTime();
- linkedList.add(500_000, 1);
- final long endTimeLLAddEl = System.nanoTime();
- long totalTimeLLAddEl = endTimeLLAddEl - startTimeLLAddEl;
- System.out.println("ADDING AN ELEMENT TIMING: ");
- System.out.println("Arraylist adding time: " + totalTimeArLAddEl);
- System.out.println("LinkedList adding time: " + totalTimeLLAddEl);
- winner(totalTimeArLAddEl, totalTimeLLAddEl);
- //ADDING AN ELEMENT AT POSITION 1
- //ArrayList
- final long startTimeArLAddElOne = System.nanoTime();
- linkedList.add(0, 500_000);
- final long endTimeArLAddElOne = System.nanoTime();
- long totalTimeArLAddElOne = endTimeArLAddElOne - startTimeArLAddElOne;
- //LinkedList
- final long startTimeLLAddElOne = System.nanoTime();
- linkedList.add(0, 500_000);
- final long endTimeLLAddElOne = System.nanoTime();
- long totalTimeLLAddElOne = endTimeLLAddElOne - startTimeLLAddElOne;
- System.out.println("ADDING AN ELEMENT TO POSITION 1 TIMING: ");
- System.out.println("Arraylist adding time: " + totalTimeArLAddElOne);
- System.out.println("LinkedList adding time: " + totalTimeLLAddElOne);
- winner(totalTimeArLAddElOne, totalTimeLLAddElOne);
- //REMOVING AN ELEMENT AT POSITION 1
- //ArrayList
- final long startTimeArLRemoveElOne = System.nanoTime();
- linkedList.remove(1);
- final long endTimeArLRemoveElOne = System.nanoTime();
- long totalTimeArLRemoveElOne = endTimeArLRemoveElOne - startTimeArLRemoveElOne;
- //LinkedList
- final long startTimeLLRemoveElOne = System.nanoTime();
- linkedList.remove(1);
- final long endTimeLLRemoveElOne = System.nanoTime();
- long totalTimeLLRemoveElOne = endTimeLLRemoveElOne - startTimeLLRemoveElOne;
- System.out.println("REMOVING AN ELEMENT TO POSITION 1 TIMING: ");
- System.out.println("Arraylist adding time: " + totalTimeArLRemoveElOne);
- System.out.println("LinkedList adding time: " + totalTimeLLRemoveElOne);
- winner(totalTimeArLRemoveElOne, totalTimeLLRemoveElOne);
- }
- public static void winner (long arrListResult, long linkedListResult) {
- System.out.println();
- String winner = "";
- long difference = 0L;
- if (arrListResult < linkedListResult) {
- winner = "ARRAY LIST";
- difference = linkedListResult - arrListResult;
- } else {
- winner = "LINKED LIST";
- difference = arrListResult - linkedListResult;
- }
- System.out.printf("%s is faster with %d difference!%n", winner, difference);
- System.out.println("-----------------------------------------------------");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement