I have taken both ArrayList and LinkedList and compared their time consumed in get function, set function, Add Or Insert function and remove function. Is this a right way to solve this question?? Conditions are not getting fulfilled in this solution.
package com.codegym.task.task08.task0811;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
/*
Method quartet
*/
public class Solution {
public static List getListForGet() {
//write your code here
ArrayList list = new ArrayList();
LinkedList linkedList = new LinkedList();
Date currentArrayListTime = new Date();
for(int i = 0; i < 10000; i++){
list.get(i);
}
Date newArrayListTime = new Date();
Date currentLinkedListTime = new Date();
for(int i = 0; i < 10000; i++){
linkedList.get(i);
}
Date newLinkedListTime = new Date();
if(newArrayListTime.getTime() - currentArrayListTime.getTime() > newLinkedListTime.getTime() - currentLinkedListTime.getTime()){
return linkedList;
}
else{
return list;
}
}
public static List getListForSet() {
//write your code here
ArrayList list = new ArrayList();
LinkedList linkedList = new LinkedList();
Date currentArrayListTime = new Date();
for(int i = 0; i < 10000; i++){
list.set(i, "Oh!!");
}
Date newArrayListTime = new Date();
Date currentLinkedListTime = new Date();
for(int i = 0; i < 10000; i++){
linkedList.set(i, "Oh!!");
}
Date newLinkedListTime = new Date();
if(newArrayListTime.getTime() - currentArrayListTime.getTime() > newLinkedListTime.getTime() - currentLinkedListTime.getTime()){
return linkedList;
}
else{
return list;
}
}
public static List getListForAddOrInsert() {
//write your code here
ArrayList list = new ArrayList();
LinkedList linkedList = new LinkedList();
Date currentArrayListTime = new Date();
for(int i = 0; i < 10000; i++){
list.add("Hey!!");
}
Date newArrayListTime = new Date();
Date currentLinkedListTime = new Date();
for(int i = 0; i < 10000; i++){
linkedList.add("Hey!!");
}
Date newLinkedListTime = new Date();
if(newArrayListTime.getTime() - currentArrayListTime.getTime() > newLinkedListTime.getTime() - currentLinkedListTime.getTime()){
return linkedList;
}
else{
return list;
}
}
public static List getListForRemove() {
//write your code here
ArrayList list = new ArrayList();
LinkedList linkedList = new LinkedList();
Date currentArrayListTime = new Date();
for(int i = 0; i < 10000; i++){
list.remove(0);
}
Date newArrayListTime = new Date();
Date currentLinkedListTime = new Date();
for(int i = 0; i < 10000; i++){
linkedList.remove(0);
}
Date newLinkedListTime = new Date();
if(newArrayListTime.getTime() - currentArrayListTime.getTime() > newLinkedListTime.getTime() - currentLinkedListTime.getTime()){
return linkedList;
}
else{
return list;
}
}
public static void main(String[] args) {
}
}