Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中链表的交换方法,其值会发生变化_Java_List_Data Structures_Linked List - Fatal编程技术网

java中链表的交换方法,其值会发生变化

java中链表的交换方法,其值会发生变化,java,list,data-structures,linked-list,Java,List,Data Structures,Linked List,我正在写一个方法来交换链表中的相邻值,我不知道当你将值设置为彼此相等时会发生什么。例如,假设我有一个链表,我想交换索引4和索引5处的元素(假设列表有10个元素)。 如果我使用代码: Node tempAt = getNode(4); Node tempPost = getNode(5); getNode(3).next = tempPost; tempAt.next = tempPost.next; tempPost.next = getNode(3); 这行吗?基本上,我被变量搞混了。当您将

我正在写一个方法来交换链表中的相邻值,我不知道当你将值设置为彼此相等时会发生什么。例如,假设我有一个链表,我想交换索引4和索引5处的元素(假设列表有10个元素)。 如果我使用代码:

Node tempAt = getNode(4);
Node tempPost = getNode(5);
getNode(3).next = tempPost;
tempAt.next = tempPost.next;
tempPost.next = getNode(3);
这行吗?基本上,我被变量搞混了。当您将一个节点设置为另一个节点时(例如:
node temp=listHead
),temp本质上与节点listHead相同吗?如果我修改
列表头
,是否也会修改
temp
? 编辑:
另外,如果我创建了如下内容:
Node temp=listHead
,然后更改
listHead.next
的值,那么
temp.next
的值是多少?

在编辑中,
Node temp=listHead
temp
是一个保存
listHead
值的变量
listHead
有一个名为next的字段,它也是一个保存另一个节点的值的变量。当您更改
listHead.next
时,您正在更改对象
listHead
中字段
next
的值,并且
temp
的值仍然是对象
listHead
,因此当您说
temp.next
时,这等于
listHead.next


如果您想更多地了解Java是如何通过值传递的,您可以阅读。

这有用吗?->好吧,试试看。
这个有用吗?
为什么不试试呢?代码只是为了说明我的意思。我最困惑的是文章的最后一部分(编辑)