java合并2个链表
我正在尝试将两个链表合并在一起,列表1和列表2。在列表2中,您有一个在列表1中不可用的项目,即键盘,同时鼠标数量也已更改,新的鼠标数量将为3,因为在列表1中有1个鼠标数量,而在列表2中有3个。所以本质上你会有一个新的链表,叫做list3。list3将list1和list2的内容组合在一起,就像list2中的项目键盘,而不是list1,还有新的鼠标数量
import java.util.LinkedList;
import java.util.ListIterator;
public class TestLinkedList extends MyLinkedList {
public static void main(String[] args) {
LinkedList < String > list1 = new LinkedList < > ();
Demo demo = new Demo();
String case1 = demo.setNameandQty(1, "Case");
String monitor1 = demo.setNameandQty(3, "Monitor");
String mouse1 = demo.setNameandQty(1, "Mouse");
String ram1 = demo.setNameandQty(2, "RAM");
String ssd1 = demo.setNameandQty(4, "SSD");
int cm = 2;
list1.add(case1);
list1.add(monitor1);
list1.add(mouse1);
list1.add(ram1);
list1.add(ssd1);
System.out.println("Shopping List 1");
ListIterator < String > it1 = list1.listIterator();
while (it1.hasNext()) {
System.out.println(it1.next());
}
list1.remove(3);
System.out.println("\nAfter deleting 4th item");
for (String s: list1) {
System.out.println(s);
}
LinkedList < String > list2 = new LinkedList < > ();
String keyboard2 = demo.setNameandQty(1, "Keyboard");
String mouse2 = demo.setNameandQty(2, "Mouse");
list2.add(keyboard2);
list2.add(mouse2);
System.out.println("\nShopping list 2");
for (String s: list2) {
System.out.println(s);
}
String holdMouse1q = "";
String holdMouse2q = "";
String getMouse1q = demo.getIntegers(mouse1, holdMouse1q);
int mouse1q = Integer.parseInt(getMouse1q);
String getMouse2q = demo.getIntegers(mouse2, holdMouse2q);
int mouse2q = Integer.parseInt(getMouse2q);
System.out.println("\nMouse 1 quantity: " + mouse1q);
System.out.println("Mouse 2 quantity: " + mouse2q);
int totalMouseQ = mouse1q + mouse2q;
// list1.addFirst("Flashdisks : 10");
// System.out.println("\nAfter adding 10 flash disks");
// for (String s : list1) {
// System.out.println(s);
// }
}
}
# 1 楼答案
我不确定方法
demo.setNameandQty()
的返回值是什么。所以我假设返回值应该像<name>-<quality>
,例如“Mouse-2”下面是我的合并方法,通过对项目列表排序进行求解:
这里需要注意的是,如果您在一个列表中有重复的项,例如{“Mouse-1”、“Mouse-2”},则此方法将失败。为了解决这个问题,我认为我们最好确保没有重复项,而不是使合并方法更加复杂