A comprehensive Command Line Interface (CLI) application that acts as a mini database for football player records. Instead of relying on built-in Java collections, this project implements a custom Doubly Linked List and a custom Stack to manage data efficiently.
- Built from scratch using a custom
Nodeclass withprevandnextpointers. - Alphabetical Insertion: Every time a new player is added, the list traverses and automatically inserts the node in the correct alphabetical order based on Name (and Surname for duplicates).
- Bidirectional Traversal: Capable of printing the database from A-Z (using
head) and Z-A (usingtail).
- Reading: Parses data from
players.txt, securely handling string splitting and date conversions using a customDateclass. - Writing: Saves the current state of the linked list back into a text file (
players_temp.txt) before exiting, ensuring no data loss.
- Includes a utility to deep-copy the current linked list into a custom Stack architecture, demonstrating LIFO (Last-In-First-Out) operations by popping and printing the records.
- Create: Add new players via console.
- Read: Search and print specific players by name/surname.
- Update/Sort: Maintains sorted state automatically.
- Delete: Securely removes nodes by re-linking
prevandnextpointers.
- Compile the package:
javac application/*.java - Run the main app:
java application.Application - Follow the interactive menu to load files, add records, or traverse the list.