[英]how to accept string and Integer using doubly linked list in java?
我使用双重喜欢的列表创建了一个菜单驱动程序。 程序正在接受整数值。 但是我想要接受整数和字符串的程序,创建一个双向链表,其中每个节点都包含一个字符串和整数的字符。 我如何修改代码,请帮助我...? 这是我的代码,
package car;
import java.util.Scanner;
public class DoublyLinkedList {
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
/* Creating object of linkedList */
linkedList list = new linkedList();
System.out.println("Doubly Linked List Test\n");
char ch;
/* Perform list operations */
do
{
System.out.println("\nDoubly Linked List Operations\n");
System.out.println("1. insert at begining");
System.out.println("2. insert at end");
System.out.println("3. insert at position");
System.out.println("4. delete at position");
System.out.println("5. check empty");
System.out.println("6. get size");
int choice = scan.nextInt();
switch (choice)
{
case 1 :
System.out.println("Enter integer element to insert");
list.insertAtStart( scan.nextInt() );
break;
case 2 :
System.out.println("Enter integer element to insert");
list.insertAtEnd( scan.nextInt() );
break;
case 3 :
System.out.println("Enter integer element to insert");
int num = scan.nextInt() ;
System.out.println("Enter position");
int pos = scan.nextInt() ;
if (pos < 1 || pos > list.getSize() )
System.out.println("Invalid position\n");
else
list.insertAtPos(num, pos);
break;
case 4 :
System.out.println("Enter position");
int p = scan.nextInt() ;
if (p < 1 || p > list.getSize() )
System.out.println("Invalid position\n");
else
list.deleteAtPos(p);
break;
case 5 :
System.out.println("Empty status = "+ list.isEmpty());
break;
case 6 :
System.out.println("Size = "+ list.getSize() +" \n");
break;
default :
System.out.println("Wrong Entry \n ");
break;
}
/* Display List */
list.display();
System.out.println("\nDo you want to continue (Type y or n) \n");
ch = scan.next().charAt(0);
} while (ch == 'Y'|| ch == 'y');
}
}
其中每个节点包含一个字符串和整数的一个字符
因此,您希望每个节点具有两种数据类型...
您可以创建支持课程Pair
public class Pair<T, U> {
private T t;
private U u;
// constructors, getters, setters, equals and hashcode ...
public static <T, U> Pair<T, U> of(final T t, final U u) {
return new Pair<>(t, u);
}
}
然后有
final List<Pair<String, Integer>> list = new LinkedList<>();
list.add(Pair.of("string", 4));
// ...
Pair<String, Integer> pair = list.get(9);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.