У меня есть эта программа, и в основном методе я добавляю значение в связанный список. Когда я пытаюсь добавить другое значение с помощью метода, который проверяет, добавлено ли ранее добавленное значение в списке, оно не распознает значение как находящееся в списке и выполняет ли оно операцию, если оно не находится в списке. Почему эта программа не распознает объекты, которые помещаются в список? программа не распознает «h», добавлен в список.Проверка наличия объекта в связанном списке
import java.util.LinkedList;
import java.util.List;
public class Menu {
LinkedList <LinkedList> mainMenuItems = new LinkedList <LinkedList>();
public void Menu(){
}
public boolean addMainMenuItem(String newItem, String existingItem, int position){
LinkedList <String> subMenuItems = new LinkedList <String>();
if (! mainMenuItems.contains(existingItem)){
subMenuItems.addLast(newItem);
mainMenuItems.add(subMenuItems);
return true;}
if (mainMenuItems.contains(existingItem)){
subMenuItems.addLast(newItem);
int existingIndex = mainMenuItems.indexOf(existingItem);
if (position == 1){
LinkedList temp = new LinkedList <LinkedList>();
temp = mainMenuItems.get(existingIndex+1);
mainMenuItems.remove(existingIndex+1);
mainMenuItems.add(existingIndex + 1, subMenuItems);
mainMenuItems.add(existingIndex +2, temp);
}
if (position == -1){
mainMenuItems.add(existingIndex, subMenuItems);}
return true; }
return false;}
public boolean deleteMainMenuItem(String item){
if (mainMenuItems.contains(mainMenuItems.indexOf(item))){
mainMenuItems.remove(mainMenuItems.indexOf(item));
return true;}
else{
return false;}}
public static void main(String[] args){
Menu b = new Menu();
b.addMainMenuItem("h", "b", 1) ;
b.addMainMenuItem("hi", "h", 1) ;
b.addMainMenuItem("i", "h", 1) ;
System.out.println(b.mainMenuItems.get(0));
System.out.println(b.mainMenuItems.get(1));
b.deleteMainMenuItem("hi");
System.out.println(b.mainMenuItems.get(2));
System.out.println(b.deleteMainMenuItem("hi"));
}
}
-1 для плохого форматирования – Basilevs
Ваш код в отформатированном формате очень трудно прочитать. Пожалуйста, рассмотрите возможность редактирования сообщения и фиксацию стиля отступов, чтобы он был единообразным и последовательным. Обычно я избегаю использования вкладок для отступов (частое программное обеспечение форума не очень хорошо работает с вкладками) и отступы каждого блока кода 4 пробела. Код, находящийся в том же блоке, должен иметь одинаковый отступ. И вы захотите дать каждому концу фигурные скобки, '' 'свою собственную линию. –