Developing Algorithms Using ArrayLists

AP Computer Science A· difficulty 4/5

Consider:

<code class="language-java">ArrayList<Integer> a = new ArrayList<>(Arrays.asList(5, 6, 5, 5, 7, 5)); for (int i = a.size() - 1; i >= 0; i--) if (a.get(i) == 5) a.remove(i); </code></pre> What is the final state of <code>a</code>?

  • A

    [6, 5, 7]

  • B

    [6, 7]

    check_circle
  • C

    IndexOutOfBoundsException

  • D

    [5, 6, 5, 5, 7, 5]

Explanation

Iterating backwards safely removes elements because shifting only affects already-processed (higher) indices. Every 5 is removed, leaving [6, 7].

Want 10 more like this — adaptive to your weak spots?

Related questions