Cоздал конструктор от класса, в нём два листа. В теле метода создаю объект, заполняю листы, засекаю и сравниваю время. Для теста смотреть только первый метод get. Выдаёт :
xception in thread "main" java.lang.NullPointerException
at com.javarush.task.task08.task0811.Solution.getListForGet(Solution.java:20)
at com.javarush.task.task08.task0811.Solution.main(Solution.java:82)
чяднт?
package com.javarush.task.task08.task0811;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.lang.*;
public class Solution {
ArrayList<String> A_list;
LinkedList<String> L_list;
public Solution() {
ArrayList<String> A_list = new ArrayList<>();
LinkedList<String> L_list = new LinkedList<>();
for (int i=0;i<10000;i++) {A_list.add("кек");L_list.add("лол");}
}
public static List getListForGet() {
Solution obj1 = new Solution();
Date stA= new Date();
for (int i=0;i<10000;i++) {String test = obj1.A_list.get(0);}
Date endtA = new Date();
long distA = endtA.getTime()-stA.getTime();
Date stL= new Date();
for (int i=0;i<10000;i++) {String test = obj1.L_list.get(0);}
Date endtL = new Date();
long distL = endtL.getTime()-stL.getTime();
if (distA<distL) return obj1.A_list;
else return obj1.L_list;
}
public static List getListForSet() {
Solution obj1 = new Solution();
Date stA= new Date();
for (int i=0;i<10000;i++) {obj1.A_list.set(5000,"как");}
Date endtA = new Date();
long distA = endtA.getTime()-stA.getTime();
Date stL= new Date();
for (int i=0;i<10000;i++) {obj1.A_list.set(5000,"как");}
Date endtL = new Date();
long distL = endtL.getTime()-stL.getTime();
if (distA<distL) return obj1.A_list;
else return obj1.L_list;
}
public static List getListForAddOrInsert() {
Solution obj1 = new Solution();
Date stA= new Date();
for (int i=0;i<10000;i++) {obj1.A_list.add(5000,"как");}
Date endtA = new Date();
long distA = endtA.getTime()-stA.getTime();
Date stL= new Date();
for (int i=0;i<10000;i++) {obj1.A_list.add(5000,"как");}
Date endtL = new Date();
long distL = endtL.getTime()-stL.getTime();
if (distA<distL) return obj1.A_list;
else return obj1.L_list;
}
public static List getListForRemove() {
Solution obj1 = new Solution();
Date stA= new Date();
for (int i=0;i<10000;i++) {obj1.A_list.remove(5000);}
Date endtA = new Date();
long distA = endtA.getTime()-stA.getTime();
Date stL= new Date();
for (int i=0;i<10000;i++) {obj1.A_list.remove(5000);}
Date endtL = new Date();
long distL = endtL.getTime()-stL.getTime();
if (distA<distL) return obj1.A_list;
else return obj1.L_list;
}
public static void main (String[] args) throws Exception {
}
}