ArrayList<Integer> inter=new ArrayList<Integer>();
ArrayList<ArrayList<Integer>> ar = new ArrayList<>();
inter.add(2);
inter.add(3);
ar.add(inter);
inter.add(44);
inter.add(62);
почему,когда я добавляю элементы в лист inter,уже после того,как я добавил 2 и 3 в сам двумерный лист,он автоматически продолжает добавлять 44 и 62 хотя ниже,я нигде не указывал это?т.е. при выводе System.out.println(ar); результат будет 2 3 44 62
Вы создаете объект ArrayList inter и добавляете в него 2 элемента 2 и 3, потом в ar , как первый элемент добавляете объект inter, т.е. ссылку этого объекта, потом идет добавление 44 и 62, и ar уже через ссылку может работать с пространством памяти , куда ссылается объект inter. Поэтому ar имеет доступ к элементам 44 и 62
UPD:
ArrayList<Integer> inter=new ArrayList<Integer>();
ArrayList<Integer> inter_one=new ArrayList<Integer>();
ArrayList<ArrayList<Integer>> ar = new ArrayList<>();
inter.add(2);
inter.add(3);
inter_one.add(44);
inter_one.add(62);
ar.add(inter);
ar.add(inter_one);
UPD: Вариант, который предлогал реализовать в комментариях
Сборка персонального компьютера от Artline: умный выбор для современных пользователей