VO를 구현하자!
//Customer.java - VO public class Customer implements Serializable{ private String id; private String password; private String name; private String email; private String phoneNumber; private int mileage; public Customer() { super(); } public Customer(String id, String password, String name, String phoneNumber, String email, int mileage) { super(); this.id = id; this.password = password; this.name = name; this.email = email; this.phoneNumber = phoneNumber; this.mileage = mileage; } public void setId(String id) { this.id = id; } public String getId() { return id; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPhoneNumber() { return phoneNumber; } public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } public int getMileage() { return mileage; } public void setMileage(int mileage) { this.mileage = mileage; } @Override public String toString() { return "Customer [id=" + id + ", password=" + password + ", name=" + name + ", email=" + email + ", phoneNumber=" + phoneNumber + ",\tmileage=" + mileage + "]"; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((email == null) ? 0 : email.hashCode()); result = prime * result + ((id == null) ? 0 : id.hashCode()); result = prime * result + mileage; result = prime * result + ((name == null) ? 0 : name.hashCode()); result = prime * result + ((password == null) ? 0 : password.hashCode()); result = prime * result + ((phoneNumber == null) ? 0 : phoneNumber.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Customer other = (Customer) obj; if (email == null) { if (other.email != null) return false; } else if (!email.equals(other.email)) return false; if (id == null) { if (other.id != null) return false; } else if (!id.equals(other.id)) return false; if (mileage != other.mileage) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; if (password == null) { if (other.password != null) return false; } else if (!password.equals(other.password)) return false; if (phoneNumber == null) { if (other.phoneNumber != null) return false; } else if (!phoneNumber.equals(other.phoneNumber)) return false; return true; } }
지원해줄 인터페이스를 만들어 놓자!!
//Service.java - 인터페이스 public interface Service { public void registerCustomer(Customer customer); public void printCustomerList(); public Customer findCustomerById(String id); public ArrayList findCustomerByName(String name); public ArrayList findCustomerByMileageRange(int startMileage, int endMileage); public void updateCustomerInfo(Customer changeInfo); public void removeCustomerById(String id); }
이것이 Business Service이다!!
//CustomerSerivceMap.java public class CustomerSerivceMap implements Service{ //어떤게 리스트가 편하고, key가 편한지 체크해 볼것!! private HashMap customerMap; public CustomerSerivceMap(){ customerMap = new HashMap(); } public CustomerSerivceMap(int listSize){ customerMap = new HashMap(listSize); } @Override public void registerCustomer(Customer customer) { // TODO Auto-generated method stub Customer custom = findCustomerById(customer.getId()); if(custom==null) { customerMap.put(customer.getId(), customer); } } //엔트리로 처리하는 구문 암기하기. @Override public void printCustomerList() { // TODO Auto-generated method stub Set entrys = customerMap.entrySet(); for(Object o :entrys){ Entry entry = (Entry) o; System.out.println(entry.getKey()+" : "+entry.getValue()); } } @Override public Customer findCustomerById(String id) { // TODO Auto-generated method stub Customer customer = null; boolean flag = false; flag = customerMap.containsKey(id); if (!flag) { } else { customer = (Customer) customerMap.get(id); } return customer; } @Override public ArrayList findCustomerByName(String name) { // TODO Auto-generated method stub ArrayList customerList = new ArrayList(); for (Object o : customerMap.values()) { if (((Customer) o).getName().equals(name)) { customerList.add(o); } } return customerList; } @Override public ArrayList findCustomerByMileageRange(int startMileage, int endMileage) { // TODO Auto-generated method stub ArrayList customerList = new ArrayList(); for (Object o : customerMap.values()){ if (startMileage<= ((Customer) o).getMileage() && ((Customer) o).getMileage() <=endMileage) { customerList.add(o); } } return customerList; } @Override public void updateCustomerInfo(Customer changeInfo) { // TODO Auto-generated method stub if(changeInfo.getId()==null || !customerMap.containsKey(changeInfo.getId())) return; else { customerMap.put(changeInfo.getId(), changeInfo); } } @Override public void removeCustomerById(String id) { // TODO Auto-generated method stub if(id==null || !customerMap.containsKey(id)) return; customerMap.remove(findCustomerById(id)); } }
메인 클래스입니다!
//CustomerMapMain.java - Main public class CustomerMapMain { public static void main(String[] args) { CustomerSerivceMap service = new CustomerSerivceMap(); //등록할 고객 정보 Customer c1 = new Customer("id-1", "1111","김영수", "02-111-2222", "kys@kosta.or.kr", 40000); Customer c2 = new Customer("id-2", "4444","이미영", "031-222-3333", "lmy@kosta.or.kr", 5500); Customer c3 = new Customer("id-3", "2222","최우수", "010-555-1212","cws@kosta.or.kr", 350000); Customer c4 = new Customer("id-4", "3333","이미영", "010-3434-5656", "lmy@kosta.or.kr", 2700); Customer c5 = new Customer("id-5", "5555","이미영", "031-532-6421", "Rmy@kosta.or.kr",550); Customer c6 = new Customer("id-6", "6666","장경수", "010-9011-3222", "cks@kosta.or.kr", 66000); Customer c7 = new Customer("id-7", "7777","홍길범", "010-5434-6533", "hkb@kosta.or.kr", 57000); // --------------------------------------------------------등록 service.registerCustomer(c1); service.registerCustomer(c2); service.registerCustomer(c3); service.registerCustomer(c4); service.registerCustomer(c5); service.registerCustomer(c6); service.registerCustomer(c7); // -----------------------------------------------------전체 고객 정보 출력 service.printCustomerList(); // -----------------------------------------------------ID로 고객 조회 String findId = "id-2"; Customer cc = service.findCustomerById(findId); if(cc==null){ System.out.println(findId+"는 없는 고객입니다."); }else{ System.out.println("찾은 고객의 정보 : "+cc); } //--------------------------------------------------이름으로 조회 String name = "이미영"; System.out.println("----"+name+" 고객 정보-----"); ArrayList list = service.findCustomerByName(name); if(list==null||list.size()==0){//고객을 못찾은 경우 System.out.println(name+"는 없는 고객 - main()"); }else{ printList(list); } // ----------------------------------------------------마일리지 범위로 조회 int sMileage = 1000; int eMileage = 20000; System.out.println("마일리지 범위로 체크 ("+sMileage+"~"+eMileage+")"); list = service.findCustomerByMileageRange(sMileage, eMileage); if(list==null||list.size()==0){//고객을 못찾은 경우 System.out.println("마일리지 범위내에 고객이 없습니다. - main()"); }else{ printList(list); } // -------------------------------------------------------고객 정보 수정 수정 System.out.println("-------------------------수정-----------------------"); Customer custom1 = new Customer("id-2", "1111","최우수", "010-555-1212","new@kosta.or.kr", 300000); service.updateCustomerInfo(custom1); service.printCustomerList(); // --------------------------------------------------------고객 id로 고객정보 제거 System.out.println("------------------삭제-------------------"); service.removeCustomerById("id-5"); service.printCustomerList(); } public static void printList(ArrayList list){ for(int idx = 0; idx < list.size(); idx++){ System.out.println(list.get(idx)); } } }
반응형
'JAVA > Syntax' 카테고리의 다른 글
가변인수 (String... args) JDK1.5 (0) | 2015.02.06 |
---|---|
DataType & Type Casting (Primitive Type) (0) | 2015.02.06 |
접근제한자 (Access Modfiier) (0) | 2015.02.06 |
java.util.Date && java,util.GregorianCalendar (0) | 2015.02.05 |
Collection API [Collection - ( Set,List, Map ) (0) | 2015.02.05 |