Question

    What will be the output of the following Java code snippet,

    which implements a simple ArrayList and performs an insertion and a retrieval? import java.util.*;                             public class TestArrayList {     public static void main (String[] args) {         ArrayList list = new ArrayList ();         list.add( 10 );         list.add( 20 );         list.add( 30 );         list.add( 1 , 15 );  // Inserting 15 at index 1         System.out.println(list.get( 2 ));     }}
    A 15 Correct Answer Incorrect Answer
    B 20 Correct Answer Incorrect Answer
    C 10 Correct Answer Incorrect Answer
    D 30 Correct Answer Incorrect Answer
    E Runtime exception Correct Answer Incorrect Answer

    Solution

    In this code, an ArrayList is created and populated with three elements. The add() method is used to insert 15 at index 1. This insertion shifts the other elements accordingly. Let's break down why the correct output is B and explain why the other options are incorrect: ·         Explanation of Correct Option (B): Initially, the ArrayList contains [10, 20, 30] . When list.add(1, 15) is executed, it inserts the value 15 at index 1 . This causes the elements at index 1 and 2 (i.e., 20 and 30 ) to be shifted one position to the right. After the insertion, the list looks like this: [10, 15, 20, 30] . The call to list.get(2) retrieves the element at index 2 , which is now 20 . ·         Why the Other Options Are Incorrect:

      •  15: 15 is inserted at index 1 , not index 2 . So, list.get(2) will not return 15 .
      • 10: The element at index 0 is 10 , but the retrieval happens at index 2 , so it will not return 10 .
      •  30: After the insertion, 30 is at index 3 , not 2 , so it will not be retrieved by list.get(2) .
      •  Runtime exception: There is no runtime exception in this code. All list operations are performed within valid bounds.

    Practice Next