• Source
    1. /*
    2.  
    3.  
    4. File name : LL.java
    5. Date : 27 March 2013
    6. Author : Shivam Tiwari
    7. Organization : http://mycodedock.blogspot.in/
    8. Description : Implementing Dynamic Linked List in java by importing java.util.LinkedList
    9.  
    10.  
    11. */
    12.  
    13. import java.util.LinkedList;
    14. import java.util.Scanner;
    15.  
    16. //defining a custom data-type (class)
    17. class LLObj{
    18. int NodeInt;
    19. char NodeChar;
    20. LLObj(int x, char y){
    21. NodeInt = x;
    22. NodeChar = y;
    23. }
    24. }
    25.  
    26. //main class
    27. public class Main{
    28.  
    29. static int ChosenOption, TempInt, NodeCounter, TempCounter;
    30. static char TempChar;
    31.  
    32. //creating scanner object
    33. static Scanner ScannerObj = new Scanner(System.in);
    34.  
    35. //creating a link list
    36. static LinkedList<LLObj> list = new LinkedList<>();
    37.  
    38. //main function
    39. public static void main(String[] args){
    40.  
    41. NodeCounter = 0;
    42.  
    43. //driving menu
    44. for(;;){
    45. System.out.println("Enter 1 to add a node to linked list");
    46. System.out.println("Enter 2 to print the current list");
    47. System.out.println("Enter 3 to quit the program");
    48. ChosenOption = ScannerObj.nextInt();
    49. if(ChosenOption == 1){
    50. AddNew();
    51. }
    52. else if(ChosenOption == 2){
    53. PrintList();
    54. }
    55. else if(ChosenOption == 3){
    56. return;
    57. }
    58. else{
    59. System.out.println("Wrong Input. Try again!");
    60. }
    61. }
    62. }
    63.  
    64. //AddNew function
    65. public static void AddNew(){
    66.  
    67. //getting input
    68. System.out.println("Enter integer");
    69. TempInt = ScannerObj.nextInt();
    70. System.out.println("Enter character");
    71. TempChar = ScannerObj.next().charAt(0);
    72.  
    73. //adding node to the list
    74. list.addLast(new LLObj(TempInt,TempChar));
    75.  
    76. //Increment Node Counter
    77. NodeCounter++;
    78. }
    79.  
    80. public static void PrintList(){
    81. TempCounter = 0;
    82. while(TempCounter < NodeCounter){
    83. System.out.println(list.get(TempCounter).NodeInt);
    84. System.out.println(list.get(TempCounter).NodeChar);
    85. System.out.println("");
    86. TempCounter++;
    87. }
    88. }
    89. }
    90.  
    91.  
    92.