• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

SoftwareTestingo - Interview Questions, Tutorial & Test Cases Template Examples

SoftwareTestingo - Interview Questions, Tutorial & Test Cases Template Examples

  • Home
  • Test Case Examples
  • Interview Questions
  • Interview Questions Asked
  • Java
  • Selenium
  • Manual Testing
  • SQL Tutorial For Beginners
  • Difference
  • Tools
  • Contact Us
  • Search
SoftwareTestingo » Difference » Difference Between ArrayList VS LinkedList In Java With Example

Difference Between ArrayList VS LinkedList In Java With Example

Last Updated on: April 10, 2019 By Softwaretestingo Editorial Board

What We Are Learn On This Post

  • ArrayList VS LinkedList
  • When to use ArrayList?
  • When to use LinkedList?

ArrayList VS LinkedList In Java: In this article, we will discuss the difference between ArrayList and LinkedList classes in detail. Also, we will list a few pointers with regards to below operations

  • Adding or storing of an item/element {add(itemValue)}
  • Removing an item/element {remove(index)}
  • Retrieval of an item/element {get(index)}

Lets us move on and discuss the key differences between these 2 collection classes

ArrayList VS LinkedList

ArrayList LinkedList
To store item/elements, ArrayList uses a dynamic array or dynamically re-sizing array, i.e., an internal data structure To store items/elements, LinkedList uses a doubly-linked list, i.e., an internal data structure
The initial capacity of ArrayList is 10 It doesn’t have any initial capacity, i.e., constructs an empty list of size 0
When ArrayList exceeds its capacity, then its  size increases by 50% No such thing required in LinkedList
When ArrayList exceeds its capacity, then an internally new array is created with 50% more of the original size andOld array data copied into the new array No such overhead, as item/element is added to end of LinkedListDue to this, insertion is faster in LinkedList comparing with ArrayList
Similarly, while deleting from the middle of ArrayList involves a lot of shifting work Deletion is much simpler in LinkedList, as previous and next links get deleted and a new link is formed
ArrayList internally uses an array to store the items, so retrieval becomes faster as array works on index-based LinkedList iterate over a list to retrieve/get the required item/element
Overall, retrieval is faster in ArrayList when comparing with LinkedList other words, if an application requires a lot of retrieval tasks then ArrayList is the best suit Overall, insertion and removal is faster in LinkedList when comparing with ArrayList other words, LinkedList is the best suit for an application involving a lot of insertion or deletion tasks
There are no memory overhead in ArrayList as it holds only actual item/elements (data) When compared with ArrayList, LinkedList has more memory overhead as it needs to maintain addresses of the previous and next node in addition to actual item/elements (data)
ArrayList can be traversed in only one direction while iterating over its item/elements LinkedList has an API to traverse in both directions while iterating over its item/elements, i.e., using descendingIterator()method
Elements of ArrayList stored in consecutive memory location Elements of LinkedList stored in random memory location
Difference: ArrayList Vs Vector

When to use ArrayList?

  • When there are several retrievals like accessing employee records against the employee code
  • Insertion and deletion is very less (or very minimal) for an application
  • Reason: when ArrayList capacity exceeds, then internally a new array with 50% more than original size is created and older array data/items/elements are copied into the new array
  • It is better to avoid ArrayList when there are the number of insertion/removal/deletion of an item/element from ArrayList as it involves a lot of shifting work internally

When to use LinkedList?

  • When there are a number of insertion like for example, whenever airplane lands then its data need to be captured and stored in the list
  • Also when item/element needs to be deleted from a list, then LinkedList is the best fit, when comparing with ArrayList
  • Don’t use LinkedList, when there are a number of retrieval as every item need to be traversed either from beginning/end to get the required item from a list

    Filed Under: Difference

    Reader Interactions

    Leave a Reply Cancel reply

    Your email address will not be published. Required fields are marked *

    Primary Sidebar

    Join SoftwareTestingo Telegram Group

    Categories

    Copyright © 2023 SoftwareTestingo.com ~ Contact Us ~ Sitemap ~ Privacy Policy ~ Testing Careers