[실전] 자바 의 전화 본 관리 시스템 HashMap 실현

Map 은 더욱 통용 되 는 요소 저장 방법 을 제공 합 니 다.Map 집합 류 는 요소 쌍 ('키' 와 '값' 이 라 고 함) 을 저장 하 는 데 사용 되 며, 키 마다 값 을 표시 합 니 다.Map map = new HashMap();
이 항목 은 Persons 클래스 를 value 로 사용 하고 Persons 클래스 의 name 은 key 입 니 다.
실체 클래스 Persons
import java.util.List;
import java.util.Map;
import java.util.Scanner;

public class Persons {
	private String name;
	private String sex;
	private String phonenum;
	private String age;
	private String qq;
	private String address;
	
	Scanner sc = new Scanner(System.in);
	
	public Persons addPerson() {
		Persons person = new Persons();
		System.out.println("    :");
		String name = sc.next();
		System.out.println("    :");
		String sex = sc.next();
		System.out.println("      :");
		String phonenum = sc.next();
		System.out.println("    :");
		String age = sc.next();
		System.out.println("  qq:");
		String qq = sc.next();
		System.out.println("    :");
		String address = sc.next();

		person.setName(name);
		person.setAge(age);
		person.setPhonenum(phonenum);
		person.setQq(qq);
		person.setSex(sex);
		person.setAddress(address);
		System.out.println(person);
		System.out.println("    ");
		return person;
	}
	
	public String selectByName(Map<String, String> map){
		Persons person = new Persons();
		System.out.println("     :");
		String name = sc.next();
		for(int j = 0;j<map.size();j++){
			if(map.containsKey(name)){
				System.out.println(map.get(name).toString());
				return name;
			}else {
				person = null;
			}
		
		}
		return null;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getPhonenum() {
		return phonenum;
	}

	public void setPhonenum(String phonenum) {
		this.phonenum = phonenum;
	}

	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}

	public String getQq() {
		return qq;
	}

	public void setQq(String qq) {
		this.qq = qq;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	@Override
	public String toString() {
		return "  =" + name + ",   =" + sex + ",     =" + phonenum + ",   =" + age + ", qq=" + qq
				+ ",   =" + address ;
	}
}

클래스 PhoneBooks 구현
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
import MapPhoneBooks.Persons;

public class PhoneBooks {
	/*
	 * map.remove
	 * map.containsKey
	 * map.get(key);/map.put(key,values);/
	 */
	
	public static void main(String[] args) {
		Map<String,String> map = new HashMap<String,String>();
		String name = null;
		Scanner sc = new Scanner(System.in);
		while(true){
			System.out.println("----------------------     ------------"
					+ "----------");
			System.out.println("1.  	2.  	3.  	4.      5.      	0.  ");
			System.out.println("----------------------     ------------"
					+ "----------");
			System.out.println("     :");
			Persons p1 = new Persons();
			switch (sc.nextInt()){
			case 1:
				System.out.println("----------------------     ------------"
						+ "----------");
				p1 = p1.addPerson();
				map.put(p1.getName().toString(), p1.toString());
				break;
			case 2:
				System.out.println("----------------------     ------------"
						+ "----------");
				name = p1.selectByName(map);
				if(name!=null){
					
					System.out.println("   ?1( )0( )");
					int answer = sc.nextInt();
					if(answer ==1){
						map.remove(name);
						System.out.println("    ");
						}
				}else{
					System.out.println("     ");
				}
				break;
			case 3:
				System.out.println("----------------------     ------------"
						+ "----------");
				name = p1.selectByName(map);
				if(name!=null){
					
					System.out.println("   ?1( )0( )");
					int answer = sc.nextInt();
					if(answer ==1){
						map.remove(name);
						p1 = p1.addPerson();
				        map.put(p1.getName().toString(), p1.toString());
						System.out.println("    ");
						}
				}else{
					System.out.println("     ");
				}
				break;
			case 4:
				System.out.println("----------------------    ------------"
						+ "----------");
				for(Map.Entry<String, String> entry:map.entrySet()){
					System.out.println(entry.getValue());
				}
				break;
			case 5:
				System.out.println("----------------------      ------------"
						+ "----------");
				name = p1.selectByName(map);
				if(name==null){
					System.out.println("     ");
				}
				break;
			case 0:return;
		}
		}
	}
}

좋은 웹페이지 즐겨찾기