public class SinglyLinkedListDemo { public static void main(String[] args) { // Test with Integer SinglyLinkedList intList = new SinglyLinkedList<>(); intList.add(10); intList.add(20); intList.add(30); System.out.println("Integer List:"); intList.printList(); // Test with Double SinglyLinkedList doubleList = new SinglyLinkedList<>(); doubleList.add(1.1); doubleList.add(2.2); doubleList.add(3.3); System.out.println("\nDouble List:"); doubleList.printList(); } } class SinglyLinkedList { private class Node { T data; Node next; Node(T data) { this.data = data; this.next = null; } } private Node head; public SinglyLinkedList() { head = null; } public void add(T data) { Node newNode = new Node(data); if (head == null) { head = newNode; return; } Node current = head; while (current.next != null) { current = current.next; } current.next = newNode; } public void printList() { Node current = head; while (current != null) { System.out.print(current.data + " -> "); current = current.next; } System.out.println("null"); } }