Is this the correct implementation for Insertion sort. I am confused between Bubble Sort and Insertion sort and new to Data structures. 

```
import java.util.Scanner;
import java.util.ArrayList;
public class InsertionSort{
    public static void main(String args[]){
        Scanner reader = new Scanner(System.in);
        ArrayList<Integer> numbers = new ArrayList<Integer>();
        System.out.println("Start entering the numbers to sort: ");
        while(reader.hasNextInt()){
            numbers.add(reader.nextInt());
        }
        for(int i=0; i<numbers.size(); i++){
            for(int j=i; j>0; j--){
                if(numbers.get(j) < numbers.get(j-1)){
                    int temp = numbers.get(j);
                    numbers.set(j, numbers.get(j-1));
                    numbers.set(j-1, temp);
                }
            }
        }
        System.out.print("Sorted list: ");
        for(int i=0; i<numbers.size(); i++){
            System.out.print(" "+numbers.get(i));
        }
        System.out.println();
    }
}

```