import java.util.ArrayList;
import java.util.LinkedList;
public class TestArrayAndLinked {
/* ArrayList LinkedList
* Insertion *(double pointer)
* Search *(index based access)
* Deletion *(double pointer)
* Memory Overhead (index--actual object) *(node--data+next&previous nodes' address)
*/
public static void main(String[] args) {
long n = (long) 1E7;
// Insertion time
ArrayList arrayList = new ArrayList();
long milis = System.currentTimeMillis();
for(int i = 0; i < n; i++) {
arrayList.add(i);
}
System.out.println("Insert arraylist takes " + (System.currentTimeMillis()-milis) + "ms");
LinkedList linkedList = new LinkedList();
milis = System.currentTimeMillis();
for(int i = 0; i < n; i++) {
linkedList.add(i);
} //need more time to allocate proper space
System.out.println("Insert linkedlist takes " +(System.currentTimeMillis()-milis) + "ms");
//Deletion time
milis = System.currentTimeMillis();
arrayList.remove(0);
System.out.println("Delete front arraylist takes " + (System.currentTimeMillis()-milis) + "ms");
milis = System.currentTimeMillis();
linkedList.remove(0);
System.out.println("Delete front linkedlist takes " + (System.currentTimeMillis()-milis) + "ms");
//Search time
milis = System.currentTimeMillis();
arrayList.get((int)n/2);
System.out.println("Get mid arraylist takes " + (System.currentTimeMillis()-milis) + "ms");
milis = System.currentTimeMillis();
linkedList.get((int)n/2);
System.out.println("Get mid linkedlist takes " + (System.currentTimeMillis()-milis) + "ms");
}
}
/* 1)linked lists are good for speedy insertion and deletion because it can be done in constant time
* by rearranging the links(pointers).... Unlike arrays, that would need shifting of elements if insertion
* is done anywhere apart from the end of the list.
* 2) Their size can grow as much as needed. There is no need to predeclare the size unlike an array.
*-What are the disadvantages of linked list?
* They are bad for random access. You have to traverse the list to access a particular element.
*/
22. Linked List and Array List
最新推荐文章于 2022-11-20 20:28:55 发布