如何在不使用 collections.swap 的情况下交换链表中的元素
How to swap elements in a linked list without using collections.swap
我是 java 的初学者。我希望能够在使用我自己的方法或不使用 collections.swap
的同时使用索引值交换元素
import java.util.LinkedList;
import java.util.Scanner;
class Main {
private static LinkedList<Integer> llist;
public static void main(String[] args) {
LinkedList<Integer> languages = new llist<>();
Scanner s = new Scanner(System.in);
// add elements in the linked list
llist.add(5);
llist.add(4);
llist.add(3);
llist.add(2);
System.out.println("LinkedList: " + languages);
exchange(3,2);
System.out.println("LinkedList: " + languages);
}
public static void exchange(int i, int j) {
llist.set(i, llist.set(j, llist.get(i)));
}
}
每当我构建这个时,都不会弹出错误,但是当我 运行 它时,它会给我 java.lang.NullPointerException.
您的线路:
LinkedList<Integer> languages = new llist<>();
有错误 - 替换为
llist = new LinkedList<Integer>();
于是就变成了
import java.util.LinkedList;
import java.util.Scanner;
public class Main {
private static LinkedList<Integer> llist;
public static void main(String[] args) {
llist = new LinkedList<Integer>();
Scanner s = new Scanner(System.in);
// add elements in the linked list
llist.add(5);
llist.add(4);
llist.add(3);
llist.add(2);
System.out.println("LinkedList: " + llist);
exchange(3,2);
System.out.println("LinkedList: " + llist);
}
public static void exchange(int i, int j) {
llist.set(i, llist.set(j, llist.get(i)));
}
}
还有
System.out.println("LinkedList: " + languages);
应该是:
System.out.println("LinkedList: " + llist);
因为你并没有真正使用 languages
,而是 llist
;
我是 java 的初学者。我希望能够在使用我自己的方法或不使用 collections.swap
的同时使用索引值交换元素import java.util.LinkedList;
import java.util.Scanner;
class Main {
private static LinkedList<Integer> llist;
public static void main(String[] args) {
LinkedList<Integer> languages = new llist<>();
Scanner s = new Scanner(System.in);
// add elements in the linked list
llist.add(5);
llist.add(4);
llist.add(3);
llist.add(2);
System.out.println("LinkedList: " + languages);
exchange(3,2);
System.out.println("LinkedList: " + languages);
}
public static void exchange(int i, int j) {
llist.set(i, llist.set(j, llist.get(i)));
}
}
每当我构建这个时,都不会弹出错误,但是当我 运行 它时,它会给我 java.lang.NullPointerException.
您的线路:
LinkedList<Integer> languages = new llist<>();
有错误 - 替换为
llist = new LinkedList<Integer>();
于是就变成了
import java.util.LinkedList;
import java.util.Scanner;
public class Main {
private static LinkedList<Integer> llist;
public static void main(String[] args) {
llist = new LinkedList<Integer>();
Scanner s = new Scanner(System.in);
// add elements in the linked list
llist.add(5);
llist.add(4);
llist.add(3);
llist.add(2);
System.out.println("LinkedList: " + llist);
exchange(3,2);
System.out.println("LinkedList: " + llist);
}
public static void exchange(int i, int j) {
llist.set(i, llist.set(j, llist.get(i)));
}
}
还有
System.out.println("LinkedList: " + languages);
应该是:
System.out.println("LinkedList: " + llist);
因为你并没有真正使用 languages
,而是 llist
;