‘사람’을 예로 들면 누구든지 "이름" = "홍길동", "생일" = "몇 월 몇 일" 등으로 구분할 수 있다. 자바의 맵(Map)은 이러한 대응관계를 쉽게 표현할 수 있게 해 주는 자료형이다. 이것은 요즘 나오는 대부분의 언어들도 갖고 있는 자료형으로 Associative array, Hash라고도 불린다.

맵(Map)은 사전(dictionary)과 비슷하다. 즉, people 이란 단어에 "사람", baseball 이라는 단어에 "야구"라는 뜻이 부합되듯이 Map은 Key와 Value라는 것을 한 쌍으로 갖는 자료형이다.

keyvalue

people 사람
baseball 야구

Map은 리스트나 배열처럼 순차적으로(sequential) 해당 요소 값을 구하지 않고 key를 통해 value를 얻는다. 맵(Map)의 가장 큰 특징이라면 key로 value를 얻어낸다는 점이다. baseball이란 단어의 뜻을 찾기 위해서 사전의 내용을 순차적으로 모두 검색하는 것이 아니라 baseball이라는 단어가 있는 곳만을 펼쳐보는 것이다.

put

자바의 맵(Map)중 가장 간단한 HashMap에 대해서 알아보자.

Map 역시 List와 마찬가지로 인터페이스이다. Map 인터페이스를 구현한 Map자료형에는 HashMap, LinkedHashMap, TreeMap등이 있다. 인터페이스에 대해서는 객체지향 챕터에서 자세하게 다룰 것이다.

HashMap<String, String> map = new HashMap<String, String>(); map.put("people", "사람"); map.put("baseball", "야구");

key와 value가 String 형태인 HashMap을 만들고 위에서 보았던 예제의 항목값들을 입력해 보았다. key와 value는 위 예제에서 보듯이 put메소드를 이용하여 입력한다.

※ HashMap 역시 제네릭스를 이용한다. 위의 HashMap 의 제네릭스는 Key, Value 모두 String 타입이다.

get

key에 해당되는 값을 얻기 위해서는 다음과 같이 한다.

System.out.println(map.get("people"));

위와같이 get 메소드를 이용하면 value값을 얻을 수 있다. 위 예제는 결과로 "사람"이라는 문자열을 출력할 것이다.

containsKey

containsKey 메소드는 맵(Map)에 해당 키(key)가 있는지를 조사하여 그 결과값을 리턴한다.

System.out.println(map.containsKey("people"));

"people"이라는 키는 존재하므로 true가 출력될 것이다.

remove

remove 메소드는 맵(Map)의 항목을 삭제하는 메소드로 key값에 해당되는 아이템(key, value)을 삭제한 후 그 value 값을 리턴한다.

System.out.println(map.remove("people"));

"people"에 해당되는 아이템(people:사람)이 삭제된 후 "사람"이 출력될 것이다.

size

size 메소드는 Map의 갯수를 리턴한다.

System.out.println(map.size());

"people", "baseball" 두 값을 가지고 있다가 "people"항목이 삭제되었으므로 1이 출력될 것이다.

다음은 테스트 시 사용되었던 코드 전체이다.

TestMap.java

import java.util.HashMap; public class TestMap { public static void main(String[] args) { HashMap<String, String> map = new HashMap<String, String>(); map.put("people", "사람"); map.put("baseball", "야구"); System.out.println(map.get("people")); System.out.println(map.containsKey("people")); System.out.println(map.remove("people")); System.out.println(map.size()); } }

 

출처 : 점프투자바 https://wikidocs.net/208#put

'IT > java(자바)' 카테고리의 다른 글

[Java] Thread(스레드) 사용시 일시 정지(잠시 멈춤)  (0) 2020.12.01

Thread(스레드) 실행 중 잠시 멈추는 방법.

Thread.sleep 메소드를 호출한 Thread(스레드)는 주어진 시간 동안 일시 정지 후 Thread(스레드)를 재 진행한다.

 

1/1000초(밀리세컨) 단위로 시간을 설정할 수 있음.

Thread.sleep(1000) = 1초

 

* 샘플 소스

try {

     Thread.Sleep(1000);

} catch (InterruptedException e1) {
     e1.printStackTrace();
}

 

Thread.Sleep(1000); 코드 단독으로 사용할 수는 없음. 세트라고 보면 됨.

'IT > java(자바)' 카테고리의 다른 글

[JAVA] 맵(Map) 정리  (0) 2020.12.01

1. 인덱스 생성

CREATE INDEX [인덱스명] ON [테이블명] ( [A컬럼명], [B컬럼명], [C컬럼명] );

 

2. 인덱스 삭제

ALTER TABLE [테이블명] DROP INDEX [인덱스명];

 

3. 기존 테이블에 인덱스 추가 생성

ALTER TABLE [테이블명] ADD INDEX [인덱스명] ( [A컬럼명], [B컬럼명], [C컬럼명] );

1. MySQL에서는 UPDATE 문을 사용방법[기본]

 

UPDATE [테이블명]

SET 컬럼명1=데이터1,

      컬럼명2=데이터2,

      컬럼명3=데이터3

WHERE [조건문]

 

WHERE 절 [조건문]을 만족하는 컬럼의 데이터를 수정함.

 

 

2. 복수의 테이블을 조인하여 UPDATE 문을 사용방법

UPDATE [A테이블명] A, [B테이블명] B

SET A.컬럼명1=데이터1,

      A.컬럼명2=데이터2,

      B.컬럼명3=데이터3

WHERE A.[조인할 컬럼] = B.[조인할 컬럼]

 

윈도우 키 + R 키를 입력하면 실행 창이 뜬다.

열기 칸에 cmd 입력 후 확인.

 

선택 명령 프롬프트 창에서 아래 명령어를 입력하자.

 

telnet www.google.co.kr  80

구글사이트에 80포트번호가 열려있는지 확인하는 명령어이다.

www.google.co.kr  대신 IP를 넣어서 테스트도 가능하다.

 

아래와 같이 왼쪽 상단에 커서가 생기고 깜빡깜빡 거리는 접속이 가능하다는 표시이다.

(서버에 해당 포트가 열려있는지 확인할 때 매우 유용하다.)

 

해당 포트번호가 막혀있다면 아래와 같이 연결하지 못했다는 메시지가 출력될 것이다.

+ Recent posts