Skip to content

TIFC2DEV-JAVA-MJ10 Lab - Address-Book (Collections) - Github Classroom Assignment

Notifications You must be signed in to change notification settings

generation-org/TIFC2DEV-JAVA-MJ10

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Address Book with Collections and Streams

This GitHub Classroom kata mirrors real-world work with messy CSV data. You’ll load contacts, validate rows using a custom exception, and query with Java Streams.

How to run

./gradlew test

Or compile & run a main if you add one:

javac src/main/java/com/example/addressbook/AddressBook.java
java com.example.addressbook.AddressBook

Tasks (driven by tests)

  1. Load valid contacts from contacts.csv.
  2. Throw a custom exception for malformed rows and log errors without crashing.
  3. Search by name (partial, case-insensitive).
  4. Filter by city (case-insensitive).
  5. Filter by phone prefix.
  6. Return unique cities (Set<String>).
  7. Sort contacts by name (case-insensitive).
  8. Group & count contacts by city (Map<String, Long>).

Templates are intentionally minimal so you write most of the code. Read each test to see expected behaviour and method signatures.

About

TIFC2DEV-JAVA-MJ10 Lab - Address-Book (Collections) - Github Classroom Assignment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages