📅  最后修改于: 2023-12-03 14:56:35.919000             🧑  作者: Mango
在程序开发中,操作数组和链表是常见的数据结构。在开发过程中,我们需要查看数组或链表的内容来观察其状态,以验证程序的正确性或找出问题。
手动遍历数组是最常见的方法。一般都是通过循环遍历整个数组,输出每个元素的值。
int[] arr = {1, 2, 3, 4, 5};
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
上面的代码输出结果为:1 2 3 4 5
。
如果使用Java的标准库,可以使用Arrays.toString()方法打印整个数组的内容。该方法会将数组转换为字符串,元素之间用逗号分隔。
int[] arr = {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(arr));
上面的代码输出结果为:[1, 2, 3, 4, 5]
。
手动遍历链表是最基本的方法,通过循环遍历整个链表,输出每个结点的值。
ListNode node = head;
while (node != null) {
System.out.print(node.val + " ");
node = node.next;
}
上面的代码输出链表的所有结点值。
重写链表的toString()方法可以让打印链表更加方便。重写该方法时,需要遍历整个链表,将每个结点的值转换为字符串,按照元素之间用箭头 -> 分隔的格式输出。
public class ListNode {
int val;
ListNode next;
public ListNode(int val) {
this.val = val;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
ListNode node = this;
while (node != null) {
sb.append(node.val);
if (node.next != null) {
sb.append(" -> ");
}
node = node.next;
}
return sb.toString();
}
}
重写toString()方法后,我们可以直接调用链表的toString()方法打印整个链表。
ListNode head = new ListNode(1);
head.next = new ListNode(2);
head.next.next = new ListNode(3);
System.out.println(head);
上面的代码输出结果为:1 -> 2 -> 3
。
综上所述,查看数组和链表的方法有很多种,可以根据具体需求选择合适的方法。