본문 바로가기

Server Oriented/Java & JSP

Java Collections

https://cafe.naver.com/pgzoo/27

java.util 컬렉션 동기화 속도 기타
Interface Class
Set HashSet X 둘 중 빠름 HashMap보다 느림
TreeSet X 둘 중 느림 키가 정렬됨
Map (순서X) HashMap X 셋 중 빠름 null 값 허용
Hashtable 보다 적은 메모리 사용
Hashtable O 셋 중 중간 null 값 허용 안함
HashMap 보다 많은 메모리 사용
jdk1.8 이후 Deprecated
TreeMap X 셋 중 느림 키가 정렬됨
List (순서O) ArrayList X 넷 중 빠름 null  허용
LinkedList X 넷 중 중간  
Vector O 넷 중 느림  
Stack O Vector 와 동일 LIFO(후입선출) 가능

※ 세션마다 서로 다른 값을 가지게 하려면 동기화 하면 안 됨. 그러니까 웹개발시 대부분 동기화 불필요.
당연히 속도도 빠르고 동기화도 필요없는 곳에서 데이타를 처리하는데 순서가 필요하면 ArrayList, 아니면 HashMap 사용.

 

 

 

http://cuteelfluv.cafe24.com/xe/index.php?mid=etc&document_srl=6283&page=1

 

 

 

*. HashMap 과 Hashtable

  Hashtable 을 HashMap 에 형변환할 수 있지만, 거꾸로는 불가.

  Hashtable 은 .keys() 를 통해 .put() 된 순서대로 Enumeration 에 담을 수 있는데 HashMap 은 불가

  

Hashtable ht = new Hashtable();

HashMap hm = (Map)ht;

 

 

*. 자바스크립트로 HashMap 구현

http://huskdoll.tistory.com/594

 

 

* 추가되는 데이타의 순서가 지켜지느냐,

추가되는 데이타가 중복을 허용하느냐..

https://brunch.co.kr/@springboot/57

(아래 그림에서 동그라미 I 는 Interface, C 는 Class. 실선은 extends, 점선은 implements)