Возможно ли это сделать, сохраняя односвязный список? Да, но вы должны остановиться и подумать об этом, прежде чем сделать. Если это для школьного задания или что-то; тогда, скорее всего, этот вопрос был риторическим и имел целью заставить вас задуматься о природе связанного списка. Поэтому, если ваше школьное задание (опять-таки, я просто предполагаю, что это для школы) конкретно не скажет «реализовать метод getPrevious для односвязного списка», я бы этого не сделал.
Концепция связанного списка не является специфической для Java. Это относится к общепринятому определению того, как наилучшим образом представлять коллекцию данных, так что итерация в направлении SINGLE (отсюда и название SINGLY связанный список) выполняется очень быстро. Другими словами, скажем, у вас был список дел; и вы знаете, что вы ВСЕГДА просмотрите свой список дел, ЧТО НУЖНО, И все задачи в вашем списке не зависят друг от друга; так что вы НИКОГДА не должны знать, что вам нужно сделать 2 или 3 задачи в будущем. В этой ситуации вы будете использовать односвязный список.
Дело в том, что вы, возможно, задаете не тот вопрос. Вместо того, чтобы спрашивать; «Как мне получить предыдущий элемент в моем односвязном списке, который вы должны спросить, действительно ли связанный список является самой полезной структурой данных здесь?» Как только вы подумали об этом, я бы порекомендовал заглянуть в двусвязный список , как прокомментировал @Bart Kiers.