import java.util.LinkedList;
public LinkedList<String> mylinkedlist;
/*...*/
System.out.println("STRING: "+ mylinkedlist.peek() +" SIZE: "+ mylinkedlist.size());
выход
STRING: блаблабла РАЗМЕР: 0
это вопрос отладки: как peek()
вернуть значение и размер списка равным 0?
Всего 3 ответа
Вы не можете просмотреть элемент в LinkedList И иметь его размер равным нулю. Подумайте о том, что вы говорите: «Как я могу посмотреть на это значение и у списка нет значений?». Причина этого в том, что peek()
получает первый элемент в списке, но НЕ удаляет его. Тем не менее , вы можете искать pop()
вместо этого. Используя pop()
вы можете получить и удалить первый элемент одновременно. Согласно документации здесь "Извлекает элемент из стека, представленного этим списком. Другими словами, удаляет и возвращает первый элемент этого списка".
LinkedList<String> myList = new LinkedList<>();
myList.add("blablabla");
System.out.println("String: " + myList.pop() + ", Size: " + myList.size());
Это распечатывает:
String: blablabla, Size: 0
Если вам абсолютно необходимо вернуть значение, когда размер равен 0, у вас есть несколько вариантов.
LinkedList
.peek()
и верните соответствующее значение вместо вызова .peek()
если размер равен 0. Если это не 0, продолжайте и сделайте вызов. Реализация метода peak () для java.util.LinkedList говорит, что «извлекает, но не удаляет, заголовок (первый элемент) этого списка».
Так что с java.util.LinkedList это невозможно.
Возможно, вы импортировали LinkedList из какой-то другой библиотеки, кроме "java.util.LinkedList"