import java.util.*;

public class Main {
    public static void main(String[] args) {
        SinglyLinkedList<String> list = new SinglyLinkedList<>();

        System.out.println("--- 1. Testing Empty State ---");
        System.out.println("Initial list: " + list + " | Size: " + list.getSize());
        
        System.out.println(" -- 2. Testing Add Operations --");
        list.addFirst("B");
        System.out.println("AddFirst B:  " + list + " | Size: " + list.getSize());
        list.addFirst("A");
        System.out.println("AddFirst A:  " + list + " | Size: " + list.getSize());
        list.addLast("C");
        System.out.println("AddLast C:   " + list + " | Size: " + list.getSize());

        System.out.println("-- 3. Testing Get & Set --");
        System.out.println("Get index 1: " + list.get(1));
        String oldValue = list.get(1);
        list.set(1, "D");
        System.out.println("Set index 1: " + list + " | Size: " + list.getSize() + " (Replaced value: " + oldValue + ")");

        System.out.println("-- 4. Testing Remove Operations --");
        System.out.println("Removed First: " + list.removeFirst() + " -> " + list + " | Size: " + list.getSize());
        System.out.println("Removed Last:  " + list.removeLast() + " -> " + list + " | Size: " + list.getSize());
        System.out.println("Removed Last:  " + list.removeLast() + " -> " + list + " | Size: " + list.getSize());

        System.out.println("-- 5. Testing Edge Case (Exceptions) --");
        try {
            System.out.println("Removing from an empty list");
            list.removeLast();
        } catch (NoSuchElementException e) {
            System.out.println("Caught exception: " + e.getMessage());
        }

        try {
            System.out.println("Getting an invalid index");
            list.get(5);
        } catch (IndexOutOfBoundsException e) {
            System.out.println("Caught exception: " + e.getMessage());
        }
    }
}

ウェブサイトに埋め込む

このプロジェクトをあなたのウェブサイトに埋め込むには、以下のコードをコピーしてウェブサイトのHTMLに貼り付けてください。