Не могу понять как работает цикл for в методе doubleValues, объясните пожалуйста?!
Вывод должен быть вида:
дедушка
дедушка
бабушка
бабушка
папа
папа
мама
мама
сын
сын
дочь
дочь
коты
коты
собака
собака
программа
программа
машина
машина
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> list = new ArrayList();
for(int i = 0; i<10; i++){
list.add(read.readLine());
}// Считать строки с консоли и объявить ArrayList list тут
ArrayList<String> result = doubleValues(list);
result.forEach(System.out::println);// Вывести на экран result
}
public static ArrayList<String> doubleValues(ArrayList<String> list) {
ArrayList<String> list1 = new ArrayList<String>(list);
for(int i = list.size(); i-- > 0;)
list1.add(i, list.get(i));//напишите тут ваш код
return list1;
}
}
И почему, если мы вынесем декремент из условия, то опять таки вывод уже будет другой?
public static ArrayList<String> doubleValues(ArrayList<String> list) {
ArrayList<String> list1 = new ArrayList<String>(list);
for(int i = list.size(); i > 0; i--)
list1.add(i, list.get(i));//напишите тут ваш код
return list1;
}