Design a phone book.
package phonebook; public class PhoneBookEntry { private String name; private int number; public PhoneBookEntry(String name, int number) { this.name = name; this.number = number; } public void changeNumber(int newnum) { number = newnum; } public String getName(){ return name; } public int getNumber(){ return number; } // Changes the last name for the current object to newlastname. public void changeLastName(String newlastname) { name = newlastname; } // @Override // public int hashCode() { // // TODO Auto-generated method stub // return this.name.hashCode(); // } // // @Override // public String toString() { // // TODO Auto-generated method stub // return name + " " ; // } // // @Override // public boolean equals(Object obj) { // // TODO Auto-generated method stub // if(obj == null) // return false; // if(obj == this) // return true; // if((getClass()!=obj.getClass())) // return false; // PhoneBookEntry e = (PhoneBookEntry)obj; // return this.getName() == e.getName(); // } }
package phonebook; import java.util.Comparator; import java.util.HashSet; import java.util.TreeSet; public class PhoneBook { public TreeSet<PhoneBookEntry> set; // for look up private HashMap<String name,PhoneBookEntry>(); private final int MAX_SIZE = 100; /** * @param args */ public PhoneBook(){ set = new TreeSet<PhoneBookEntry>(new myCompare()); } public void print(){ for(PhoneBookEntry entry : set) System.out.println(entry.getName()+ " " + entry.getNumber()); } public boolean isFull(){ return set.size() > MAX_SIZE; } public boolean add(String name, int num){ if(!isFull()){ PhoneBookEntry e = new PhoneBookEntry(name,num); if(set.contains(e)){ System.out.println("exist"); return false; } else set.add(e); return true; } return false; } public boolean remove(String name){ PhoneBookEntry e = new PhoneBookEntry(name,0); if(set.contains(e)){ System.out.println("remove elm exist");} else System.out.println("remove elm not exist"); } public static void main(String[] args) { // TODO Auto-generated method stub PhoneBook book = new PhoneBook(); book.add("a",10); book.add("bsdf",10); book.add("bd",10); book.add("a3",10); book.add("a2",10); book.add("a22",10); book.add("zdfsd",10); book.print(); } } class myCompare implements Comparator<PhoneBookEntry>{ @Override public int compare(PhoneBookEntry o1, PhoneBookEntry o2) { // TODO Auto-generated method stub return o1.getName().compareTo(o2.getName()); } }