C Tutorial

C Tutorial C Language Environment Setup Execution flow of C program C printf and Scanf C Data type C Token Variable in C Operators in C Comments in C Escape Sequence in C C – Storage Classes C Decision control statement Loop Statement in C Break, continue and goto statement in C Type Casting in C Function in C Recursion in C String in C C Array Pointer in C Dynamic memory allocation C –Structure Nested Structure in C Union in C File Handling in C C pre-processor Static Function In C Sizeof In C Selection Sort In C Scope Of Variables In C Runtime Vs Compile Time In C Random Access Lseek In C Queue Implementation In C Pseudo Code In C Prototype In C Pointer To Pointer In C Pointer Arithmetic In C Passing Array To Function In C Null Character In C Merge Sort In C Macros In C Library Functions In C Memory Leak In C Int In C Goto And Labels In C Fibonacci Series In C Fflush In C Derived Data Types In C Data Types In C Const Vs Volatile In C Character Set In C Character Class Tests In C Calloc In C C Pointers Arrays In C Include In C Clrscr In C C Vs Java String Literals In C Types Of Pointers In C Variables In C Volatile In C Why C Is A Middle Level Language Infix To Postfix Program In C Ceil function in C LCM of two numbers in C Quick sort in C Static in C function pointer as argument in C Top Array Keywords in C Add two numbers using the function in C Armstrong program in C using function Array, Declaring Arrays and Array Initialization Limitations of Inline Function in C Merge and Merge sort with example in C Do-While Loop in C For Loop in C While-Loop in C Difference between while and do-while loop in C Array Of Structures in C Data Structures And Algorithms in C Types Of Structures In C How to Avoid Structure Padding in C Use of Structure in C Do WHILE LOOP in C Programming Examples For Loop in C Programming Examples Entry Control Loop in C Exit control loop in C Infinite loop in C Nested loop in C pow() function in C String Handling functions in C

Java Array vs ArrayList

As we all know, arrays are linear data structures that allow you to add elements to them continuously in memory address space, whereas ArrayList is a Collection framework class. Despite knowing the distinctions between the two, a competent programmer already knows to choose ArrayList over arrays. Now, even with ArrayList, there's a way to specify the data type of the elements that should be saved in the ArrayList, such as an object, string, integer, double, float, and so on.

Java Array

A Java array is an object that stores objects and primitive data types, given the elements stored in an array are of the same data type. The elementsin the array are stored at a contagious memory location. An array has a fixed length, i.e., once the size of the array is declared, it can't be changed. In an array, the index of elements starts with zero. If we want to access the second element, we will be referring to the 1st index. Array inherits Object class, and it is a Data Structure. It implements the following interfaces:

  • Serializable
  • Cloneable

Let’s see an example.

ArrayExample.java

public class ArrayExample {
    public static void main(String[] args) {
        int[] a = {1,2,3,4,5,6};
        for(int i = 0; i<a.length; i++)
        {
            System.out.println(a[i]);
        }
    }
}

Output:

Java Array Vs. ArrayList

ArrayList in Java

The components of the Java ArrayList class are stored in a dynamic array. It's similar to an array, except there's no limit to how big it may be. At any time, we can add or remove items. As a result, it is far more adaptable than a typical array. The java.util package contains it. It's similar to C++'s Vector.

In Java, an ArrayList can have duplicate entries as well. Internally, the ArrayList keeps track of the insertion order. It is derived from AbstractList and implements the List interface.

 Because it implements the List interface, we can utilize all of the List interface's methods here.

  • Duplicate items are possible in the Java ArrayList class.
  • The ArrayList class in Java keeps track of insertion order.
  •  The following are the key features of the Java ArrayList class:
  • Because the array is indexed, the Java ArrayList allows for random access. The Java ArrayList class does not support synchronization.
  • Because a lot of shifting needs to happen if any element is deleted from the array list, manipulation in ArrayList is a little slower than in LinkedList in Java.

Let’ see an example of ArrayList.

ArrayListExample.java

import java.util.ArrayList;
public class ArrayListExample {
    public static void main(String[] args) {
        int[] arr = new int[2];
        arr[0] = 1;
        arr[1] = 2;


        System.out.println(arr[0]);
        ArrayList<Integer> arrL = new ArrayList<Integer>(2);


        arrL.add(1);
        arrL.add(2);


        System.out.println(arrL.get(0));
    }
}

Output:

Java Array Vs. ArrayList

Similarities Between Array and ArrayList

  1. Add and get method: The Array and Array list performance is similar for add and get operations.
  2. Both processes take place in constant time.
  3. Duplicate items: Duplicate elements can exist in both arrays and array lists.
  4. Null Values: Both may store null values and refer to their elements using indexes.
  5. Unordered: Neither guarantees the presence of ordered items.

The following table summarizes the difference between Array and ArrayList.

ArrayArrayList
We use length() method  to find the length of ArrayWe use  size()  method to find the length of Array List.
Comparatively Faster.Comparatively slower.
It can be one-dimensional as well as Two-Dimensional. It can be only one-dimensional.
Once the size of the array is declared, it cannot be changed.The size of the array list can be changed.
To access and traverse the elements of an array, we use the array's name with the required index number.To access or traverse the array list, we need to use methods such as to get () and set () to do so.
There is no option to delete a certain element.We can delete a certain element.
It stores primitive as well as objects.It stores only objects.
It is Static in nature.It is Dynamic in nature.
It is a part of Core Java Programming. It is a part of Collection Frameworks. Thus, it has many methods.
It is used when the need is to use a data structure of Fixed lengthIt is used when the size is not fixed.

Conclusion

Arrays and ArrayLists are alternatives, although most developers have ceased using Arrays due to the size issue they pose. Because ArrayLists are less difficult and easier to use, their performance and drawbacks are entirely overlooked. ArrayLists are used in many applications since they reduce time during development and allow developers to push their boundaries. Both have advantages and cons, and the developer must always make the final selection.



ADVERTISEMENT
ADVERTISEMENT