public class Solution {
public static void main(String[] args) {
CustomStringArrayList arrayList = new CustomStringArrayList();
for(int i = 0; i < 25; i++) {
arrayList.add("count" + i);
}
}
}
public class CustomStringArrayList {
private int size;
private int capacity;
private String[] elements;
CustomStringArrayList(){
size = 0;
capacity = 10;
elements = new String[capacity];
}
public void add(String element){
if (size == capacity) {
grow();
}
elements[size] = element;
size++;
}
private void grow(){
elements = Arrays.copyOf(elements,(capacity + capacity/2));
capacity = (capacity + (capacity/2));
}
Anonymous #2813974
29 уровень
Как можно в классе Solution распечатать arrayList. Если писать System.out.println(arrayList) распечатывает ссылку на объект СustoS
Комментарии (10)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
VladimirMaster
28 июля 2022, 18:14
Я не могу вызвать этот код из класса Solution не видит переменные size и capacity
________________________________________________________________________
Я не пойму, что ты там делаешь и зачем.
0
Anonymous #2813974
28 июля 2022, 17:42
Спасибо большое. Все получилось.
Компилятор давал этот вариант arrayList.toString(). Я его вызвал но он тоже давал ссылку.
Если бы я сразу в методе toString прописал return Arrays.toString(elements), то он мне бы выдал результат.
Уф блин дошло. Спасибо большое еще раз!
+1
VladimirMaster
28 июля 2022, 16:58
Тебе нужно разобраться, что такое объект и какие у него есть методы, иначе тебе будет дальше очень не легко.
0
Anonymous #2813974
28 июля 2022, 16:22
Подскажете?
0
VladimirMaster
28 июля 2022, 16:55
0
Anonymous #2813974
28 июля 2022, 15:31
Не получается.
Получается только если в методе add класса CustomStringArrayList прописать после size++;
System.out.println(element.toString)
0
Anonymous #2813974
28 июля 2022, 07:18
Получается только если с методе add класса CustomStringArrayList прописать после size++;
System.out.println(element.toString)
Если вызвать в классе Solution
System.out.println(arrayList.toString()) все равно выходит ссылка на объект.
0
VladimirMaster
28 июля 2022, 07:45
У тебя есть объект CustomStringArrayList. Как мы знаем, у каждого объекта есть метод, который представляет этот объект в строковом виде. Этот метод называется toString(). Вот и переопредели этот метод у объекта CustomStringArrayList.
0
Павел
28 июля 2022, 05:55
Гугли toString
+1
VladimirMaster
28 июля 2022, 04:30
распечатывает ссылку на объект
_____________________________________________________
Все верно, на выходе ты получаешь адрес объекта в памяти. Чтобы отобразить объект в строковом представлении, что нужно сделать?
+1