TreeSet<Person> personSetByAddress = new StrictCountryTreeSet(); Person personA = new Person(); personA.setCountry("D"); personSetByAddress.add(personA); Person personC = new Person(); personC.setCountry("A"); personC.setState("B"); personC.setCity("C"); personSetByAddress.add(personC); Address addressAB = new Address(); addressAB.setCountry("A"); addressAB.setState("B"); System.out.println(personSetByAddress.floor(new AddressPersonAdapter(addressAB))); Yields: null
TreeSet<Person> personSetByAddress = new TreeSet<>(); Person personA = new Person(); personA.setCountry("A"); personSetByAddress.add(personA); Person personC = new Person(); personC.setCountry("A"); personC.setState("B"); personC.setCity("C"); personSetByAddress.add(personC); Address addressAB = new Address(); addressAB.setCountry("A"); addressAB.setState("B"); System.out.println(personSetByAddress.floor(new AddressPersonAdapter(addressAB))); Yields: Person{hashCode=10000000, country='A', state='null', city='null'}
TreeSet<Person> personSetByAddress = new TreeSet<>(); Person personA = new Person(); personA.setCountry("D"); personSetByAddress.add(personA); Person personC = new Person(); personC.setCountry("A"); personC.setState("B"); personC.setCity("C"); personSetByAddress.add(personC); Address addressAB = new Address(); addressAB.setCountry("A"); addressAB.setState("B"); System.out.println(personSetByAddress.floor(new AddressPersonAdapter(addressAB))); Yields: Person{hashCode=10000000, country='D', state='null', city='null'}
// TODO: Consider what happens if the file runs out half way through a person... while (x.hasNext()) { Person person = new Person(); person.setFirstName(x.next()); person.setLastName(x.next()); person.setStreet(x.next()); person.setTown(x.next()); person.setTelephoneNumber(x.next()); person.setCity(x.next()); // Or whatever... Main.addressBook.add(person); }
TreeSet<Person> personSetByAddress = new TreeSet<>(); Person personA = new Person(); personA.setCountry("A"); personSetByAddress.add(personA); Person personB = new Person(); personB.setCountry("A"); personB.setState("B"); personSetByAddress.add(personB); Person personC = new Person(); personC.setCountry("A"); personC.setState("B"); personC.setCity("C"); personSetByAddress.add(personC); Address addressAB = new Address(); addressAB.setCountry("A"); addressAB.setState("B"); System.out.println(personSetByAddress.floor(new AddressPersonAdapter(addressAB))); Yields: Person{hashCode=10010000, country='A', state='B', city='null'}
TreeSet<Person> personSetByAddress = new StrictCountryTreeSet(); Person personD = new Person(); personD.setCountry("D"); personSetByAddress.add(personD); Person personE = new Person(); personE.setCountry("A"); personE.setState("E"); personSetByAddress.add(personE); Person personC = new Person(); personC.setCountry("A"); personC.setState("B"); personC.setCity("C"); personSetByAddress.add(personC); Address addressA = new Address(); addressA.setCountry("A"); Address addressAB = new Address(); addressAB.setCountry("A"); addressAB.setState("B"); Address addressABC = new Address(); addressABC.setCountry("A"); addressABC.setState("B"); addressABC.setCity("C"); System.out.println(personSetByAddress.floor(new AddressPersonAdapter(addressAB))); Yields: null