Добрый времени суток.
Прошу подсказать, если в коде поменять СОУТ с "list.get(i)" на просто list, то вывод идёт тот же, только в кв.скобках [ ].
Как это понять, что это за вывод?
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>(5);
list.add(0,"kdvndkv");
list.add(1,"ewvewvkv");
list.add(2,"qwekdvndkv");
list.add(3,"zxcxkdvndkv");
list.add(4,"vcvckdvndkv");
int n = list.size();
System.out.println(n);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));//list.add(i,s);
}
}
Дмитрий
26 уровень
В чём разница?
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Дмитрий
4 марта 2020, 23:08
Спс
0
JustinianJudge в Mega City OneMaster
4 марта 2020, 21:30полезный
Это переопределенный метод toString у класса ArrayList, который реализован таким образом, что выдает содержимое коллекции в формате [элемент1, элемент2...]
Если бы этот метод не был переопределен, то было что-то из серии:
ArrayList@5A5F81
Потом это все расскажут
+1
Павел Безумный учёный Expert
4 марта 2020, 21:28полезный
В сделующей строке Вы выводите содержимое списка list.
При этом неявно вызывается метод toString( ). Он нужен для того, чтобы представить любой объект в виде строки. В каждом классе этот метод может быть переопределён по-своему; в частности, в классе ArrayList этот метод создаёт строку с перечнем объектов списка, взятым в квадратные скобки.
+1