Pages

Friday, December 17, 2021

Java ArrayList Insert/Replace At Index

1. Overview

In this tutorial, We'll learn how to insert or replace an element at a specified index into ArrayList java.

Use the ArrayList.add(int index, Object value) method to add any object or element at the specific index of ArrayList and use ArrayList.set(int index, E  value) to replace the value at the specific index of ArrayList in java.

Let us explore the examples

All examples shown in this article are on GitHub and a link is given at the end of the post.

Java ArrayList Insert/Replace At Index




2.  Example - How to insert a value at a specific index of ArrayList in Java?


ArrayList.add(int index, E element) method takes the index of the array list where the new value to be inserted and E element that the new value to be added to the existing values of ArrayList.

add(index, value) method is used to insert the given element at the given index position of ArrayList.

Let us look at the below example of how add() is called on ArrayList to add the new value at index 3.

Example 1
package com.javaprogramto.java8.arraylist.insert;

import java.util.ArrayList;
import java.util.List;

public class ArrayListInsertAddExample {

	public static void main(String[] args) {

		List<Integer> list1 = new ArrayList<>();

		list1.add(10);
		list1.add(20);
		list1.add(30);
		list1.add(40);
		list1.add(50);
		list1.add(60);

		System.out.println("List values before insertion - " + list1);

		list1.add(3, 333);

		System.out.println("List values after inserting the value 333 at index 3 - " + list1);
	}
}

Output:
List values before insertion - [10, 20, 30, 40, 50, 60]
List values after inserting the value 333 at index 3 - [10, 20, 30, 333, 40, 50, 60]

From the output, we can see that a new value 333 is added at index 3 and right to the values of index 3 are shifted by one index. Also, the size is increased by 1.

Example 2

System.out.println("List values before insertion - " + list1);
System.out.println("list1 size before - "+list1.size());

list1.add(3, 333);

System.out.println("List values after inserting the value 333 at index 3 - " + list1);
System.out.println("list1 size after - "+list1.size());

Output
List values before insertion - [10, 20, 30, 40, 50, 60]
list1 size before - 6
List values after inserting the value 333 at index 3 - [10, 20, 30, 333, 40, 50, 60]
list1 size after - 7

Another example 3

The below code is with List of Strings.
package com.javaprogramto.java8.arraylist.insert;

import java.util.ArrayList;
import java.util.List;

public class ArrayListInsertAddExample2 {

	public static void main(String[] args) {

		List<String> list2 = new ArrayList<>();

		list2.add("one");
		list2.add("two");
		list2.add("three");
		list2.add("four");
		list2.add("five");
		list2.add("six");

		System.out.println("List2 values before insertion - " + list2);
		System.out.println("list2 size before - "+list2.size());

		list2.add(3, "new four");

		System.out.println("List2 values after inserting the value 333 at index 3 - " + list2);
		System.out.println("list2 size after - "+list2.size());
	}
}

Output
List2 values before insertion - [one, two, three, four, five, six]
list2 size before - 6
List2 values after inserting the value 333 at index 3 - [one, two, three, new four, four, five, six]
list2 size after - 7



3.  Example - How to replace or update a value at a specific index of ArrayList in Java?


To update or replace the existing value with the new value of ArrayList, use set(int index, E element) with the index and new value.

Example 4
package com.javaprogramto.java8.arraylist.insert;

import java.util.ArrayList;
import java.util.List;

public class ArrayListUpdateSetExample3 {

	public static void main(String[] args) {

		List<Integer> list1 = new ArrayList<>();

		list1.add(10);
		list1.add(20);
		list1.add(30);
		list1.add(40);
		list1.add(50);
		list1.add(60);

		System.out.println("List1 values before update - " + list1);
		System.out.println("list1 size before - "+list1.size());

		list1.set(3, 333);

		System.out.println("List1 values after updating index 3 value with new value 333 - " + list1);
		System.out.println("list1 size after - "+list1.size());
	}
}

Output
List1 values before update - [10, 20, 30, 40, 50, 60]
list1 size before - 6
List1 values after updating index 3 value with new value 333 - [10, 20, 30, 333, 50, 60]
list1 size after - 6

From the output, we can see that index 3 value 40 is removed from the list and updated with the new value 333.

After replacing the index 3 value, the list size is unchanged. So, list size is not modified and maintained the same original list.

We can use the set() for any type of object such as wrapper classes, String or any user-defined custom objects.


4. Example to update the value of List while Iterating


It is allowed to update the values of the array list based on the condition while iterating it with the help of set() method.

Example 5

In the below example, if the number is divisible by 5 then update the value to -1 otherwise do not replace the value.
package com.javaprogramto.java8.arraylist.insert;

import java.util.ArrayList;
import java.util.List;

public class ArrayListUpdateSetIterateExample4 {

	public static void main(String[] args) {

		List<Integer> list1 = new ArrayList<>();

		list1.add(4);
		list1.add(10);
		list1.add(24);
		list1.add(25);
		list1.add(5);
		list1.add(28);

		System.out.println("List1 values before update - " + list1);
		System.out.println("list1 size before - " + list1.size());

		for (int index = 0; index < list1.size(); index++) {
			if (list1.get(index) % 5 == 0) {
				list1.set(index, -1);
			}
		}

		System.out.println("List1 values after updating index 3 value with new value 333 - " + list1);
		System.out.println("list1 size after - " + list1.size());
	}
}

Output
List1 values before update - [4, 10, 24, 25, 5, 28]
list1 size before - 6
List1 values after updating index 3 value with new value 333 - [4, -1, 24, -1, -1, 28]
list1 size after - 6

All values from the list which are divisible by 5 are updated to -1 and the list size is unchanged.


5. Conclusion


In this article, We've seen how to update or insert the new value at the specific index of ArrayList in java.





No comments:

Post a Comment

Please do not add any spam links in the comments section.