更新链表的数据



是否可以更新LinkedList节点的数据?如果是,那么怎么做?我真的需要一个提示!

根据是否存储可变类型,这里有两个选项:

  1. 如果存储可变类型(frex-simpleBeans和getters/ssetter方法(,则可以简单地更新对象的状态(与LinkedList实现本身无关(
  2. 如果存储的是不可变类型(frex-Strings(,则可以使用LinkedList.set((用一个新实例覆盖链表中位置处的前一个元素

如果您正在存储一个自定义类型,那么这实际上是一个设计问题(无论您是否希望使该类型可变(。

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

但是我可以手动操作吗?如果是,怎么办?

如果你所说的"手动操作"是指破坏LinkedList类的封装并直接更新类的私有数据结构。。。

  • 使用反射可以做到这一点
  • 尝试真是个坏主意/坏做法

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

相关内容

  • 没有找到相关文章

最新更新