A menu-driven, console-based Product Management System implemented in Core Java using HashMap
.
This project demonstrates CRUD operations, exception handling, interface usage, and custom sorting (by name and price).
It also includes JUnit test cases for validating each operation.
- Add Product β Insert new products with unique IDs
- View Product by ID β Retrieve product details
- Update Product β Modify product name and price
- Delete Product β Remove product by ID
- Display All Products β Show all available products
- Sorting β Sort products by Name or Price (using
Comparator
) - Exception Handling β Handles duplicate IDs, missing products, etc.
- Interface Usage β Follows abstraction via
ProductOperations
- JUnit Test Cases β Covers all CRUD + sorting functionality
- Java (Core Java, JDK 25)
- Collections API (
HashMap
,List
,Comparator
) - JUnit 5 (Testing framework)
ProductManagementSystem/
β
βββ src/main/java/com/example
β βββ Product.java # Entity class
β βββ ProductOperations.java # Interface for operations
β βββ ProductService.java # Implementation using HashMap
β βββ Main.java # Menu-driven console client
β
βββ test/
β βββ ProductServiceTest.java # JUnit test cases
β
βββ README.md
βββ .gitignore
- Using HashMap for CRUD-based storage
- Implementing interfaces for abstraction
- Applying custom sorting with Comparator
- Handling exceptions effectively
- Writing JUnit tests for validation