在java中使用类似列表的类

时间:2014-10-29 22:12:36

标签: java

所以我尝试搜索Stackoverflow并找不到有用的东西。如果有这样的链接,请指出它。

假设我在Java中使用类似的变量:

    class Example {
      public type a;
      public Example next;
}

显然,我想将这个类用作列表,然后我可以使用对象变量在最后添加更多元素。

在迭代这些时,我的困惑就出现了。 假设我已经将class Example的对象称为test,并在下一个变量上添加了一些元素。 在方法中使用此对象时,如果我使用以下是否有区别:

test = test.next;

或者如果我使用:

Example test2 = test;
test2 = test2.next

我认为这两个意思相同,是对同一个对象的引用,所以迭代一个也意味着迭代第二个。当我从方法返回时,该对象上的“指针”返回到我的起始对象。 这是对的吗?

现在我有一个问题,如果我想删除其中一个元素。 假设我之前写的是正确的,我不能只写test = test.next;,因为一旦我退出方法,我所做的一切都会被“消除”。

如果我要删除“列表”中的某个元素,我应该如何处理此问题? 还有一件事;我不能使用LinkedLists或其他任何东西,这就是我应该如何完成我的任务。

2 个答案:

答案 0 :(得分:2)

您正在实施非常标准的链表删除算法。这里有sample Google hit,但您可以自己搜索并关注任何内容。

您也可以实际使用Java LinkedList

您也可以尝试用Java中的实际源代码阅读LinkedList的remove方法。

我还想指出你没有"使用像列表这样的类。"您只是实现了LinkedList,并选择调用您的类Example,而不是List或LinkedList或SinglyLinkedList。

答案 1 :(得分:0)

您正在寻找的是Java迭代器。请查看此tutorial以获取一些帮助。基本上,您应该在Java中创建一个类型化的集合,例如List<Example>并使用该列表上的迭代器。 List来自java.util