Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- plsql
- vue
- 클린코드
- Law of Demeter
- mysql 튜닝
- Bandit Level 5
- 스크럼기법
- java.sql.SQLRecoverableException
- pl/sql
- 디미터 법칙
- 인증서만료에러
- CSS
- 폭포수 모형
- table scan
- 변수명 짓는법
- OpenAPI
- avax.net.ssl.SSLHandshakeException:
- 에자일 모형
- Bandit Level 6
- 시스템 파악
- 나선형 모형
- 커맨드공부
- Bandit Level 6 → Level 7
- SQLRecoverableException
- was SQLRecoverableException
- 프로토타입 모형
- 명령어공부
- 시스템 파악 정리
- springboot
- was버그
Archives
- Today
- Total
개발햄비
[java]HashMap과 HashTable차이 본문
HashMap과 Hashtable
자바에서 제공하는 HashMap과 Hashtable은 Map인터페이스를 상속받아 구현되어 데이터를 키와 값으로 관리하는 자료구조입니다.
큰 특징으로는 키(Key)가 데이터를 추출할 때 구분자로 활용하는 방식을 취하는데 이는 리스트 인터페이스와 같은 자료구조보다 탐색에 있어 더 높은 효율을 가집니다.
차이점
1 - 동기화 (Synchronization)
HashMap의 경우 동기화를 지원하지 않습니다.
반면 다중 스레드 환경에서 Hashtable은 동기화를 지원하기 때문에 실행 환경에 따라 구분하여 사용하면 됩니다.
추가로 속도적인 측면에서도 구형이라 할 수 있는 HashTable은 동기화 처리라는 비용때문에 HashMap에 비교적 느립니다.
예제
HashMap<String, String> map = new HashMap<String, String>();
// 값 추가
map.put("key\_1", "값1");
map.put("key\_2", "값2");
map.put("key\_3", "값3");
System.out.println(map.get("key_1")); // 값1 출력
System.out.println(map.get("key_2")); // 값1 출력
System.out.println(map.get("key_2")); // 값1 출력
map.remove("key_1"); // 값 삭제
'개발 > java' 카테고리의 다른 글
[java] springBoot + mybatis + mysql 게시판 추가,삭제,갱신 기능 (0) | 2019.10.27 |
---|---|
[java] springBoot + mybatis + mysql 게시판 read기능 (0) | 2019.10.27 |
[java] springBoot + mybatis + mysql 게시판 환경설정(2) (0) | 2019.10.24 |
[java] springBoot + mybatis + mysql 게시판 환경설정(1) (0) | 2019.10.23 |
[자료구조] java stack 구현하기 (2) (0) | 2019.03.10 |