Вы можете называть «колоду карт» стеком, но это не следует путать со структурой данных стека. Я рекомендую две структуры данных для ваших карточных объектов в вашей игре:
Список, чтобы сохранить некоторую форму заказа (чтобы вы знали, в каком порядке находятся карты). ArrayList будет хорошо работать здесь.
HashHap для быстрого поиска (помните, карта обычно теряет свой порядок).
Поскольку одна и та же карта будет присутствовать в обеих структурах данных, вы не будете использовать намного больше памяти, но будете иметь преимущества обеих структур данных (быстрый поиск и упорядочение). Вам придется немного поработать, но этого и следовало ожидать.