Home » Java » Core Java » Java ArrayList Insert/Replace At Index

About Venkatesh Nukala

Venkatesh Nukala
Venkatesh Nukala is a Software Engineer working for Online Payments Industry Leading company. In my free time, I would love to spend time with family and write articles on technical blogs. More on JavaProgramTo.com

Java ArrayList Insert/Replace At Index

A quick guide to insert or replace the element at the specified index in java.

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.

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

How to sort ArrayList in descending order in java 8?

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.

GitHub

ArrayList API

Arraylist add() examples

How to convert ArrayList to String in Java 8?

Published on Java Code Geeks with permission by Venkatesh Nukala, partner at our JCG program. See the original article here: Java ArrayList Insert/Replace At Index

Opinions expressed by Java Code Geeks contributors are their own.

(0 rating, 0 votes)
You need to be a registered member to rate this.
Start the discussion Views Tweet it!
Do you want to know how to develop your skillset to become a Java Rockstar?
Subscribe to our newsletter to start Rocking right now!
To get you started we give you our best selling eBooks for FREE!
1. JPA Mini Book
2. JVM Troubleshooting Guide
3. JUnit Tutorial for Unit Testing
4. Java Annotations Tutorial
5. Java Interview Questions
6. Spring Interview Questions
7. Android UI Design
and many more ....
I agree to the Terms and Privacy Policy
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments