import java.util.ArrayList; import java.util.Scanner; public class ArrayListDemo { public static void main(String[] args) { Friends homies = new Friends(); homies.addFriend("Jill", "Sampson"); homies.addFriend("Mary", "Roberts"); homies.displayFriends(); Scanner keyboard = new Scanner(System.in); System.out.print("Enter your friend's first name: "); String firstName = keyboard.next(); System.out.print("Enter your friend's last name: "); String lastName = keyboard.next(); if (homies.findFriend(firstName, lastName)) { System.out.println(firstName + " " + lastName + " was found"); } else { System.out.println(firstName + " " + lastName + " was not found"); } System.out.println("Your friend with the longest name is: " + homies.findFriendWithLongestLastName()); }// end of main method }// end of client class //////////////////////////////////////////////////////// class Friend { // instance variables private String myFirstName; private String myLastName; // constructors public Friend(String firstName, String lastName) { myFirstName = firstName; myLastName = lastName; } // accessor methods public String getFirstName() { return myFirstName; } public String getLastName() { return myLastName; } // interesting methods public String toString() { return myFirstName + " " + myLastName; } }// end of Friend ///////////////////////////////////////////////////////// class Friends { // properties private ArrayList myFriends; // declaring ArrayList here // constructors public Friends() { myFriends = new ArrayList(); // instantiate ArrayList in constructor } // modifier methods public void setFriends(ArrayList friendsList) { myFriends = friendsList; } // accessor methods public ArrayList getFriends() { return myFriends; } // interesting methods public void addFriend(String firstName, String lastName) { myFriends.add(new Friend(firstName, lastName)); } public void displayFriends() { for (Friend x : myFriends) System.out.println(x); } public int countFriends() { return myFriends.size(); } public boolean findFriend(String firstName, String lastName) { for (Friend x : myFriends) if (x.getFirstName().equals(firstName) && x.getLastName().equals(lastName)) return true; return false; } public Friend findFriendWithLongestLastName() { int maxLength = myFriends.get(0).getLastName().length(); Friend friendWithLongestLastName = myFriends.get(0); for (int i = 0; i < myFriends.size(); i++) { if (myFriends.get(i).getLastName().length() > maxLength) { maxLength = myFriends.get(i).getLastName().length(); friendWithLongestLastName = myFriends.get(i); } } return friendWithLongestLastName; } }// end of Friends class