使用链表实现数组

这是在一次采访中被问到的。


你能在java中实现/创建一个类似于Arrayjava中的类的对象吗?


基本上,我们应该能够像处理数组一样迭代对象,getValue()或者putValue()方法应该能够直接处理创建的对象的索引。


例如:应使用创建的对象执行以下操作。


int ar[] = new int[5];

for(int i=0; i<5; i++){

     ar[i]=i;

}

给出的提示是使用linkedlist数据结构。简而言之,它类似于ArrayList类实现。


谁能给我一个想法,我们该怎么做?


幕布斯6054654
浏览 85回答 3
3回答

狐的传说

他问的是嵌套对象。请阅读装饰器模式。请看下面的例子。public interface NodeInterface{// your methods}public class Node implements NodeInterface{&nbsp; &nbsp; private NodeInterface node = null;&nbsp; &nbsp;// your methods}每个节点都包含相同类型的嵌套对象。最后一个没有对象的对象指向空值。你可以遍历直到找到一个空值。

RISEBY

我之前问过一个类似的问题,已经回答了,它与节点和链表的概念有关。我的问题可以通过以下链接找到我接受了这个答案,因为它帮助我想象了链表的样子以及我的 Node 类的样子。当您创建节点对象时,您可以创建自定义类以更改该节点存储的值,以及检索和显示存储在节点中的数据。节点类看起来像这样public class Node{&nbsp; private int val;&nbsp; private Node node;&nbsp; public Node(int val){&nbsp; &nbsp; &nbsp; this.val=val;&nbsp; }&nbsp; public Node(Node node, int val){&nbsp; &nbsp; &nbsp; this.node = node;&nbsp; &nbsp; &nbsp; this.val = val;&nbsp; }&nbsp; public Node getNext(){&nbsp; &nbsp; &nbsp; return node;&nbsp; }&nbsp; public int getVal(){&nbsp; &nbsp; &nbsp; return val;&nbsp; }}显然你可以修改代码来存储你想要的任何东西,但这可能是面试官正在寻找的。

慕码人2483693

使用 LinkedList 它应该看起来像:LinkedList<Integer> linkedList = new LinkedList<>();for(int i=0; i<5; i++){&nbsp; &nbsp; &nbsp;linkedList.add(i);}但是,我为初学者提供了链接,您可以在其中了解有关 java util 包的所有信息。祝你好运。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java