更新链表的数据

时间:2012-12-30 11:38:11

标签: java linked-list

是否可以更新链接列表节点数据?如果是,那怎么样?我其实需要一个提示!

3 个答案:

答案 0 :(得分:3)

这里有两个选项,具体取决于您是否存储可变类型:

  1. 如果你正在存储可变类型(frex simple Beans with getters / setter methods),你可以简单地更新对象的状态(与LinkedList实现本身无关)。
  2. 如果您要存储不可变类型(frex字符串),则可以使用LinkedList.set()
  3. 覆盖链接列表中位置的前一个元素和新实例

    如果您要存储自定义类型,那么它确实是设计问题(无论您是否想要使该类型变为可变类型)。

答案 1 :(得分:1)

是的,你可以这样做。使用LinkedList.set(pos, newValue)

答案 2 :(得分:0)

  

但我可以手动完成吗?如果是,那么?

如果通过“手动执行”,则意味着打破LinkedList类封装并直接更新类私有数据结构......

  • 可以使用反射来完成此操作。
  • 尝试这是一个非常糟糕的主意/坏习惯。

执行此操作的正确方法是使用set操作。如果您担心迭代链表执行此操作的成本,请使用其他List实现。 set上的ArrayList操作很快,或者您可以使用自定义链接列表实现来执行此操作。