Я пытаюсь создать навык для кодирования, где цель состоит в создании стека с максимальным количеством элементов, поэтому, если слишком много нажатий вызывает переполнение, создается новый стек и push() и pop() работают над этим новым стеком. Если этот новый стек полностью удаляется, управление возвращается к предыдущему стеклу.ArrayList of objects intuition
Я создал ArrayList, чтобы держать все свои стеки. Я новичок в ArrayLists и столкнулись с проблемами, но вот мое мышление:
- ArrayList из Интс держит контейнер для хранения Int на каждом элементе, и вы должны вручную заполнить элемент с чем-то вроде myArrayList .set (0,13).
- поэтому ArrayList of Stacks содержит контейнер для хранения ссылки на стек для каждого элемента.
Но как вы храните ссылку на стек? Я не могу просто сделать myArrayList.set (0, Stack myStack). Я думаю, что правильным ответом может быть myArrayList.set (0, новый Stack()), но это не соответствует интуиции. Подобно массиву ArrayList только в контейнерах int, ArrayList ссылок на стек не должен содержать ссылки на стопку, а только пустые контейнеры.
Где мое мышление не так?
Первая проблема: у вас не может быть 'ArrayList' из-за того, что generics не работают с примитивами в Java ... –
У вас есть какая-то конкретная структура данных для самих стеков? «LinkedList» может быть хорошим вариантом. И что будет входить в каждый стек? –
Есть много способов ответить на этот вопрос, но если вы пытаетесь создать свои навыки, я предлагаю вам попробовать кодировать это вместе с различными альтернативами, чтобы лучше понять. Запустите его под отладчиком, чтобы увидеть, как он работает. Это поможет построить ваши навыки, а также вашу интуицию - вы не получите этого, если скажете вам ответ. – jdigital