Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Main {
- static Map<String, Zipcode> uniqueZipcodes = new HashMap<>();
- static int recordsLoaded = 0;
- static int duplicates = 0;
- static int dirtyRecords = 0;
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Main main = new Main();
- main.printResults(main.removeDuplicates());
- Scanner input = new Scanner(System.in);
- System.out.println("Enter zipcode to search : ");
- String zipToSearch = input.nextLine();
- main.searchZip(zipToSearch);
- }
- public StringBuilder removeDuplicates() {
- StringBuilder sb = new StringBuilder();
- try {
- Scanner in = new Scanner(new File("DirtyZipcodes.txt"));
- while(in.hasNextLine()) {
- String line = in.nextLine();
- String[] fields = line.split(",");
- Zipcode zipcode = new Zipcode(fields[0].trim(),fields[1].trim(),fields[2].trim());
- if(uniqueZipcodes.containsKey(zipcode.zipcode)) {
- // Compare objects
- if(zipcode.equals(uniqueZipcodes.get(zipcode.zipcode))) {
- sb.append("Duplicate Found: " + zipcode.zipcode + ", " + zipcode.city + ", " + zipcode.county + "\n");
- duplicates++;
- } else {
- //Zipcode is equal but Objects are different
- Zipcode old = uniqueZipcodes.get(zipcode.zipcode);
- uniqueZipcodes.put(zipcode.zipcode, zipcode);
- dirtyRecords++;
- sb.append("Overwritten: " + old.zipcode + ", " + old.city + ", " + old.county + " by " + zipcode.zipcode + ", " + zipcode.city + ", " + zipcode.county + "\n");
- }
- } else {
- uniqueZipcodes.put(zipcode.zipcode, zipcode);
- recordsLoaded++;
- }
- }
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return sb;
- }
- public void printResults(StringBuilder sb) {
- System.out.println(sb.toString());
- System.out.println(recordsLoaded + " records loaded, " + duplicates + " duplicates ignored, " + dirtyRecords + " dirty zipcodes overwritten");
- }
- public void searchZip(String zipcodeToSearch) {
- if(uniqueZipcodes.containsKey(zipcodeToSearch)) {
- Zipcode zip = uniqueZipcodes.get(zipcodeToSearch);
- System.out.println("Found county : " + zip.county + " City: " + zip.city);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement