The PhonebookApplication is a simple console-based project written in Java. It allows users to manage contacts by performing essential operations such as adding, updating, deleting, searching, and sorting using core Java concepts like OOP, ArrayLists, binary search, and merge sort.
- ✅ Add new contacts
- 📋 View all saved contacts
- ✏️ Update contact information
- ❌ Delete contacts by name
- 🔍 Search contact using Binary Search
- 🔃 Sort contacts by Add Date (Descending) using Merge Sort
- 👋 Exit the application gracefully
- Java (JDK 8+)
- Object-Oriented Programming (OOP)
- Algorithms (Binary Search, Merge Sort)
- Console I/O
A console-based contact management system built with Java, demonstrating object-oriented programming, real-time input handling, and algorithmic operations such as binary search and merge sort.
The Phonebook Application is a Java console project that provides core contact management functionalities such as adding, updating, deleting, and searching contacts. The system uses object-oriented programming principles and demonstrates data manipulation techniques like binary search, merge sort, and list management. It simulates the operations of a digital phonebook and offers practical experience in Java-based system development.
In the age of smartphones and digital communication, contact management is fundamental. This project bridges the gap between theoretical Java knowledge and practical application. It reinforces key concepts like:
- Class design
- Encapsulation
- ArrayList manipulation
- Algorithm implementation in a structured, interactive environment
Manual contact management is inefficient and error-prone. Most beginner Java tutorials emphasize syntax but neglect real-world system building. This project fills that gap by enabling:
- Real-time data operations
- Algorithmic sorting and searching
- Hands-on object-oriented design
This application addresses key challenges in software development:
- Designing and managing dynamic object collections
- Implementing efficient searching using binary search
- Performing merge sort based on contact metadata
- Maintaining a text-based user interface
- Handling user input and exceptions robustly
The goal is to build a modular, maintainable, and efficient phonebook system that:
- Supports real-time console interaction
- Provides all CRUD operations
- Demonstrates search and sort algorithms
- Applies OOP principles like encapsulation and abstraction
- Handles edge cases: empty input, invalid data, duplicates, etc.
| Feature | Description |
|---|---|
| 👀 View Contacts | Display all saved contact entries |
| ➕ Add Contact | Add new contacts with name and phone number |
| ✏️ Update Contact | Modify existing contact information |
| ❌ Delete Contact | Remove contact by name |
| 🔎 Search Contact | Use binary search to find contacts |
| 🔽 Sort Contacts | Sort by add date using merge sort |
| 🚪 Exit | Cleanly terminate the program |
- Learn and apply Java OOP fundamentals
- Understand and implement binary search and merge sort
- Practice managing dynamic data structures (
ArrayList) - Reinforce concepts like modular design and method abstraction
- 🔧 Data Management Apps: Similar logic used in CRM tools & syncing platforms
- 🧠 Algorithm Design: Mastery of core search/sort algorithms
- 🌐 Backend Dev Foundation: Mimics REST-like CRUD logic in a console environment
- 💼 Career Utility: Helps software developers, QA engineers, and backend testers
The Phonebook Application is a compact yet powerful Java project that simulates real-world system development. It covers OOP, algorithm implementation, and user interaction, making it ideal for students, beginners, and enthusiasts.
This project lays the foundation for more advanced systems like:
- GUI-based apps (Swing/JavaFX)
- Persistent storage with files or databases
- Android-based contact managers
Sabuj
Java Developer | Android App Creator