Коллекции
Задачи на использование Java Collection Framework.
Задача 1
Дан код:
final List<Integer> l1 = new ArrayList<>();
final List<Integer> l2 = new ArrayList<>();
l1.add(1); l1.add(2); l1.add(3); l1.add(4); l1.add(5);
/*SOLUTION*/
System.out.println("l1: " + l1);
System.out.println("l2: " + l2);
На место /*SOLUTION*/ поместите код, который переложит данные из одного массива в другой. Вывод программы должен получиться следующим:
l1: []
l2: [1, 2, 3, 4, 5]
Если бы на списки не ссылались финальные переменные, то можно было бы схитрить, создав второй список на основе первого и очистив затем первый. Но в данном случае так не получится (и хорошо, потому что это не будет решением задачи, так как задача не про ссылки, а про сами списки), поэтому элементы списка нужно просто перекладывать по одному. Например так:
final List<Integer> l1 = new ArrayList<>();
final List<Integer> l2 = new ArrayList<>();
l1.add(1); l1.add(2); l1.add(3); l1.add(4); l1.add(5);
while (!l1.isEmpty()) {
Integer i = l1.get(0);
l2.add(i);
l1.remove(i);
}
System.out.println("l1: " + l1);
System.out.println("l2: " + l2);
Есть, разумеется и другие способы. Но это простая задача.