gpt4 book ai didi

java - Java链表的实现

转载 作者:行者123 更新时间:2023-11-28 06:57:15 24 4
gpt4 key购买 nike

在一次面试中,我被要求用 Java 实现一些链表方法。我只有在 C++ 中实现链表的经验,有些事情让我担心。看完this question看到答案,还是有顾虑。

class Link {
public int data1;
public double data2;
public Link nextLink;

//Link constructor
public Link(int d1, double d2) {
data1 = d1;
data2 = d2;
}

//Print Link data
public void printLink() {
System.out.print("{" + data1 + ", " + data2 + "} ");
}
}

我的第一个问题是 Java 没有指针。我习惯于看到类似 Node* nextNode; 的东西,而不是 public Link nextLink;。如何在没有指针的情况下将值分配给 Link ?是因为在 Java 中 new 返回一个实际的 Link 对象吗?或者它是否返回对它的引用?如果它返回对它的引用,那不是问题,因为引用不同于实际的 Link 对象吗?或者在 Java 中任何对象的标识符实际上是一个引用?

我知道这是一个见仁见智的问题,但为什么链表似乎更多地出现在 C++ 中?我猜该语言没有内置支持,所以很多关于链表的教程都是针对 C++ 编写的(即使重点是数据结构)。

最佳答案

这是因为 java 用它们的引用来操作对象。众所周知,java是按值传递的,但是对象的值是它们的地址。

关于java - Java链表的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23006647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com