너와 나의 프로그래밍

JAVA - HashMap, HashSet 간략 정리 본문

Back-End/Java Example

JAVA - HashMap, HashSet 간략 정리

Whatever App's 2018. 2. 22. 00:26

 

[JAVA] Map,Set - HashMap, HashSet 간략 정리

 

 

 

 

 

HashMap : 키 값과 데이터를 사용하여 HashTable의 값을 찾음.

 

HaspMap<키의 타입, 데이터의 타입> 객체명 = new HaspMap<키의 타입, 데이터의 타입>(배열 수);

 

/* 타입 파라미터를 프리미티브 타입으로 정하면 안됨 */

/* ()는 50이나 60으로 배열의 크기를 설정 가능 */

/* 와일드카드 안의 첫번째는 "키의 타입" 뒤는 "데이터 타입"으로 콤마(,)를 써서 구분한다 */

 

 

 

예: HaspMap의 메소드 활용

 

import java.util.HashMap;

 

public class MapIterTest1 {

public static void main(String[] args) {

// TODO Auto-generated method stub

HashMap<String, String> list = new HashMap<String,String>();

list.put("0","lee");// 0

list.put("1","cho");// 1

list.put("2","kim");// 2

list.put("3","chung");// 3

list.put("4","min");// 4

                list.clear();// 모두 제거

list.put("3","chung");// 3

System.out.println("1. " + list.size());// size()

System.out.println("2. " + list.containsKey("3"));// list안에 'chung'라는 문자가 있는 확인

list.remove(3);

 

     String get = list.get("1");  

     System.out.println(get);

 

                System.out.println(list);

}

}

put 메소드 : put 메소드는 HashMap에 데이터를 저장 할 때 쓰는 메소드다. 이 메소드는 꼭 두개의 파라미터를 넘겨주어야 하는데, 첫 번째 파라미터는 "키 값"이고, 두 번째 파라미터는 "데이터"여야 한다. 주의할 점은 HashMap 객체를 생성했던 타입 파라미터와 맞아야 한다.
 
get 메소드 :  해쉬 테이블에 저장된 데이터는 get 메소드를 사용하여 읽어올 수 있다. 이 때 메소드 안은 "키 값"을 넣어 리턴한다.
 
remove 메소드 : 해쉬 테이블에 저장된 데이터는 remove 메소드를 사용하여 삭제 할 수 있다. 이 때 메소드 안은 "키 값"을 넣어 리턴한다.
 
clear 메소드 : 해쉬 테이블에 저장된 데이터를 모두 지운다.
 
containsKey메소드 : 해쉬 테이블에 "키 값"을 넣어 값이 있는 지 확인한다. 리턴 타입은 Boolean이다.
 
※ 해쉬 테이블의 키 값의 번호는 "hasCode()" 메소드를 활용하여 구한다. 리턴 타입은 int.
 
 
 
HashSet : "중복해서 저장하지 않는" 집합으로 사용할 수 있는 클래스.
 

HashSet<타입 파라미터> 객체명 = new HashSet<타입 파라미터>();
/* HashSet 객체에는 "String" 타입의 객체만 저장할 수 있다. *//* 이미 있는 데이터를 저장하면 집합에 변동이 일어나지 않는다.(중복 저장 안함) */

 

예 : HashSet의 메소드 활용

 

import java.util.HashSet;

import java.util.Iterator;

 

public class HashSetExample {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

HashSet<String> set = new HashSet<String>();

set.add("자바");

set.add("카푸치노");

set.add("에스프레소");

System.out.println("저장된 데이터의 수  : " + set.size());

 

Iterator<String> iterator = set.iterator();

while (iterator.hasNext()) {

String str = iterator.next();

System.out.println(str);

}

}

 

}

 

add 메소드 : HastSet으로 만든 Object에 값을 넣음.

 

size 메소드 : HashSet에 있는 데이터의 수를 구하는 메소드.

 

※ HashSet는 데이터에 순서가 없기 때문에 데이터를 순서대로 읽어오거나, 특정 위치의 데이터를 읽어올 수 있는 방법이 없기 때문에 "Iterator" 메소드를 활용해서 집합에 있는 "전체" 데이터를 불러올 수 있다.

 

반응형