【发布时间】:2021-03-26 03:27:09
【问题描述】:
这看起来很简单,但我不太明白为什么这不起作用。
我想反转我的 LinkedList 中的元素,我有一个工作方法,但我不能返回值,因为我的教授希望它是一个 void 方法。我该怎么办?
import java.util.LinkedList;
public class ListUtil {
public static void reverse(LinkedList<String> strings) {
LinkedList<String> reverseLinkedList = new LinkedList<>();
for(int i = strings.size() - 1; i >= 0; i--) {
reverseLinkedList.add(strings.get(i));
}
strings = reverseLinkedList;
System.out.println(strings);
}
}
import java.util.LinkedList;
public class ReverseTester {
public static void main(String[] args) {
LinkedList<String> employeeNames = new LinkedList<>();
employeeNames.addLast("Dick");
employeeNames.addLast("Harry");
employeeNames.addLast("Romeo");
employeeNames.addLast("Tom");
ListUtil.reverse(employeeNames);
System.out.println(employeeNames);
System.out.println("Expected: [Tom, Romeo, Harry, Dick]");
}
}
在我的 ListUtil 类中,它确实反转了列表,但不返回值(因为它是 void)但我不知道如何在 ReverseTester 类中设置employeeName。
我知道这可能非常简单,但我一生都无法解决这个问题,非常感谢任何帮助。
【问题讨论】:
-
就地反转它?
-
@Dave Newton 我希望我可以,这会更容易,或者即使我可以让该方法返回一个链接列表,但我的教授可悲的是不希望这样
-
也许将您当前的 LinkedList 复制/克隆到新的 LinkedList,然后在原来的 LinkedList 中进行反向操作,这样做您不需要返回,因为原来的会被反转
-
@HưngChu 你是说将 LinkedList 复制到另一个类吗?
标签: java linked-list void