【问题标题】:How do I swap two elements in a LinkedList? [duplicate]如何交换 LinkedList 中的两个元素? [复制]
【发布时间】:2016-06-08 05:20:23
【问题描述】:

如何在 Java 中交换 LinkedList 中的两个元素? 假设:

LinkedList<Integer> ttt = new LinkedList<Integer>();
ttt.add(1);
ttt.add(2);
ttt.add(4);
// etc........

如何交换2和3?

【问题讨论】:

  • Rosy,你自己有没有努力解决这个问题?
  • 请访问help center,尤其是阅读How to Ask。您应该自己尝试解决方案并询问您是否遇到问题。 SO 不是代码编写服务。
  • 你的意思是LinkedList吗?
  • 是的,我自己尝试过。我创建了一个新的类节点并使用了 prev 和 next 使用 LInkedlist head 和 all 的概念。但是我被告知要以更简单的方式进行我做不到的方式。
  • 在 LInkedlist 中你不能像我们以前在数组中那样直接使用。所以 ??

标签: java linked-list swap


【解决方案1】:

LinkedList 只是 List 抽象数据类型 (ADT) 的实现,List ADT 具有所有相同的方法,无论实现是 LinkedList 还是 ArrayList

因此,您可以在 LinkedList 中交换 2 和 3,就像在 ArrayList 中交换 2 和 3 一样:

List<Integer> listOfNumbers = new LinkedList<>(Arrays.asList(1, 2, 4, 5, 3, 6));
int twoIndex = listOfNumbers.indexOf(2);
int threeIndex = listOfNumbers.indexOf(3);
listOfNumbers.set(twoIndex, 3);
listOfNumbers.set(threeIndex, 2);

【讨论】:

    猜你喜欢
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 2017-12-31
    • 1970-01-01
    相关资源
    最近更新 更多