Что делает этот код, так это то, что я просто добавляю разные имена к своему linkedlist
, и он изменяет список в алфавитном порядке. Я бы добавил что-то вроде addInOrder(list,"Sacramento")
и addInOrder(list,"Sacramento")
. Как вы можете себе представить, он упорядочивает их по алфавиту. проблема в том, что мой код, приведенный ниже, с оператором return не добавляет элементы в мой список, а когда я его запускаю, он просто не выполняется. Может кто-нибудь объяснить мне, почему return
на это нужно? Я не могу найти примеры этого где-либо еще. ниже приведены примеры.
Этот код работает, обратите внимание на return
:
private static boolean addInOrder(LinkedList<String> linkedList, String newCity) {
ListIterator<String> stringListIterator = linkedList.listIterator();
while(stringListIterator.hasNext()) {
int comparison = stringListIterator.next().compareTo(newCity);
if(comparison == 0) {
System.out.println(newCity + " is already included as a destination");
return false;
} else if(comparison > 0) {
stringListIterator.previous();
stringListIterator.add(newCity);
return true;
} else if(comparison < 0) {
// move on next city
}
}
stringListIterator.add(newCity);
return true;
}
Этот 2-й блок кода также работает:
public static void addinOrder(LinkedList<String> cities,String newInput){
ListIterator<String> lList1 = cities.listIterator();
while(lList1.hasNext()){
int comparison = lList1.next().compareTo(newInput);
if(comparison==0){
System.out.println("Input already in here");
return;
}else if(comparison>0){
lList1.previous();
lList1.add(newInput);
return;
}else if(comparison<0){
}
}
lList1.add(newInput);
}
, но для некоторых причина: Этот блок кода не работает, единственное отличие - я удаляю return
:
public static void addinOrder(LinkedList<String> cities,String newInput){
ListIterator<String> lList1 = cities.listIterator();
while(lList1.hasNext()){
int comparison = lList1.next().compareTo(newInput);
if(comparison==0){
System.out.println("Input already in here");
}else if(comparison>0){
lList1.previous();
lList1.add(newInput);
}else if(comparison<0){
}
}
lList1.add(newInput);
}