HashMap: HashTable의 신버전, key와 value를 묶어서 하나의 entry로 저장한다.
               key값으로 데이터를 호출한다. 많은 양의 데이터를 검색하는데 뛰어난 성능.
               key값은 유일해야하고 value는 중복을 허용한다.

TreeMap: 이진검색트리 형태로 key와 value가 쌍으로 이루어져있다. 범위검색이나 정렬이 필요한 경우에 사용.

Properties: HashTable을 상속받아 구현한 것. key와 value를 String값으로 받아서 사용하고 파일 입출력의 기능을 사용할 때 주로 사용한다. 시스템 속성을 출력할 때도 사용.

ex) HashMap

class HashMapEx1 {
{
   HashMap map = new HashMap();
   map.put("castello", "1234");
   map.put("asdf", "1111");
   map.put("asdf", "1234);

   Scanner s = new Scanner(System.in);

   while(true) {
      System.out.println("id와 pw입력해주세요");
      System.out.print("id: ");
      String id = s.nextLine().trim();

      System.out.print("password: ");
      String password = s.nextLine().trim();
      System.out.println();

      if(!map.containKey(id)) {
            System.out.println("id가 존재하지 않습니다." + "다시 입력해주세요");
            continue;
       } else {
            if(!(map.get(id)).equals(password)) {
                System.out.println("비번이 일치하지 않습니다. 다시 입력하세요");
           } else {
                  System.out.println("id와 비번이 일치합니다.");
                  break;
           }
      }
  }
}


ex) Properties

class PropertiesEx3
{
   public static void main(String[] args)
   {
      Properties prop = new Properties();
      prop.setProperty("timeout", "30");
      prop.setProperty("language","한글");
      prop.setProperty("size", "10");
      prop.setProperty("capacity", "10");

      try {
            prop.store(new FileOutputStream("output.txt"), "Properties Ex");
            prop.storeToXML(new FileOutputStream("output.xml"), "Properties Ex");
      } catch(IOException e) {
            e.printStackTrace();
       }
   }
}
Posted by jazzlife
,