import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; public class AddressBook { // Return all contacts List contacts = new ArrayList(); public List findAllContacts() { return contacts; } // Return all contacts matching name (case-insensitive) public List findContactsByName(String name) { String namePattern = ".*" + (name != null ? name.toUpperCase() : "") + ".*"; List matches = new ArrayList(); for (Contact c : contacts) { if (Pattern.matches(namePattern, c.getName().toUpperCase())) { matches.add(c); } } return matches; } public AddressBook() { contacts.add(new Contact("Steve", "steve@yahoo.com")); contacts.add(new Contact("Charles", "cyoung@global.tt.net")); contacts.add(new Contact("Karl", "kheinz@acme.org")); contacts.add(new Contact("Mike", "mike_meier@yahoo.com")); contacts.add(new Contact("Yvonne", "yvonne_yvonne@gmail.com")); contacts.add(new Contact("Sung", "superstar001@yahoo.com")); contacts.add(new Contact("Shailesh", "spatel@acme.org")); contacts.add(new Contact("John", "jjb@cablenet.net")); contacts.add(new Contact("Ricky", "rmartin@acme.org")); contacts.add(new Contact("Shaolin", "shaolins@gmail.com")); contacts.add(new Contact("Olga", "olga077@yahoo.com")); contacts.add(new Contact("Ron", "reggerts@acme.org")); contacts.add(new Contact("Juan", "jperez@acme.org")); contacts.add(new Contact("Uday", "udaykumar@adcglobal.net")); contacts.add(new Contact("Aminur", "aminur@aaaminur.com")); contacts.add(new Contact("Sathish", "sparekh@acme.org")); contacts.add(new Contact("Kal", "kalyan.krishnan@worldwide.net")); contacts.add(new Contact("Prakash", "prakash01@gmail.com")); } }