Advertisement
Guest User

Untitled

a guest
Nov 15th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.20 KB | None | 0 0
  1.  
  2. public class Main {
  3.  
  4. static Map<String, Zipcode> uniqueZipcodes = new HashMap<>();
  5. static int recordsLoaded = 0;
  6. static int duplicates = 0;
  7. static int dirtyRecords = 0;
  8.  
  9. public static void main(String[] args) {
  10. // TODO Auto-generated method stub
  11. Main main = new Main();
  12.  
  13. main.printResults(main.removeDuplicates());
  14. Scanner input = new Scanner(System.in);
  15. System.out.println("Enter zipcode to search : ");
  16. String zipToSearch = input.nextLine();
  17. main.searchZip(zipToSearch);
  18. }
  19.  
  20. public StringBuilder removeDuplicates() {
  21. StringBuilder sb = new StringBuilder();
  22. try {
  23. Scanner in = new Scanner(new File("DirtyZipcodes.txt"));
  24. while(in.hasNextLine()) {
  25. String line = in.nextLine();
  26. String[] fields = line.split(",");
  27. Zipcode zipcode = new Zipcode(fields[0].trim(),fields[1].trim(),fields[2].trim());
  28. if(uniqueZipcodes.containsKey(zipcode.zipcode)) {
  29.  
  30. // Compare objects
  31. if(zipcode.equals(uniqueZipcodes.get(zipcode.zipcode))) {
  32. sb.append("Duplicate Found: " + zipcode.zipcode + ", " + zipcode.city + ", " + zipcode.county + "\n");
  33. duplicates++;
  34. } else {
  35. //Zipcode is equal but Objects are different
  36. Zipcode old = uniqueZipcodes.get(zipcode.zipcode);
  37. uniqueZipcodes.put(zipcode.zipcode, zipcode);
  38. dirtyRecords++;
  39. sb.append("Overwritten: " + old.zipcode + ", " + old.city + ", " + old.county + " by " + zipcode.zipcode + ", " + zipcode.city + ", " + zipcode.county + "\n");
  40. }
  41. } else {
  42. uniqueZipcodes.put(zipcode.zipcode, zipcode);
  43. recordsLoaded++;
  44. }
  45.  
  46. }
  47. } catch (FileNotFoundException e) {
  48. // TODO Auto-generated catch block
  49. e.printStackTrace();
  50. }
  51.  
  52. return sb;
  53. }
  54.  
  55. public void printResults(StringBuilder sb) {
  56. System.out.println(sb.toString());
  57. System.out.println(recordsLoaded + " records loaded, " + duplicates + " duplicates ignored, " + dirtyRecords + " dirty zipcodes overwritten");
  58. }
  59.  
  60. public void searchZip(String zipcodeToSearch) {
  61. if(uniqueZipcodes.containsKey(zipcodeToSearch)) {
  62. Zipcode zip = uniqueZipcodes.get(zipcodeToSearch);
  63. System.out.println("Found county : " + zip.county + " City: " + zip.city);
  64. }
  65. }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement