Why ArrayList giving unordered output?
java, loops
Solution
Your array:
a[0]=6
a[1]=7 <-- i
a[2]=8
a[3]=9
Then you remove at 1, and i increments to 2:
a[0]=6
a[1]=8
a[2]=9 <-- i
Remember that array indexes start at 0, so the last element is at a.length - 1
You get your exception because the loop condition `i <= a.size()`, so at the final iteration:
a[0] = 7
a[1] = 9
2 <-- i
Problem
I have written java program, to add integer in ArrayList and remove that integer from ArrayList . but it not giving me proper result. here is my code.. ``` public static void main(String args[]) { ArrayList<Integer> a=new ArrayList<Integer>(); a.add(6); a.add(7); a.add(8); a.add(9); for(int i=0;i<=a.size();i++) { System.out.println("Removed Elements=>"+a.remove(i)); } } ``` it giving me output as follows ``` Removed Elements=>6 Removed Elements=>8 Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 2, Size: 2 at java.util.ArrayList.RangeCheck(ArrayList.java:547) at java.util.ArrayList.remove(ArrayList.java:387) at CollectionTemp.main(CollectionTemp.java:19) ``` why i am getting output like this?