프로그래머의 삶 Programmer's Life/Java!!

Collection 객체 default 및 for performance

Oliver's World 2009. 12. 10. 14:57
728x90
Vector - 10  (내부적으로 배열로 생성되어 있다....즉 중간에 값 삽입한다면 엄청난 퍼포먼스 OTL )
Hasgtable - 11/0.75(부하율)   => a 갯수의 버킷이 필요할 시에는 a * 4/3 개를 생성해야 한다. 
               => default 로 생성했을 때 rehash 가 되는 경계선은 11*0.75 이다.
StringBuffer - 16

Map - HashMap - 가장 빠른 매핑( 동기화 x )
          Hashtable - HashMap 보다 늘지미나 동기화한 hashMap 보다 빠르다.( 동기화 o )
          TreeMap - Key 로 정렬되어 있음, 트리로된 맵 , (동기화 x)

List - ArrayList - 가장 빠른 리스트 ( 동기화 x )
        Vector - ArrayList 보다 느리지만 동기화한 것보다는 빠르다( 동기화 o )
        Stack - Vector 와 동일속도 , LIFO 큐 기능( 동기화 o )
        LinkedList - 가장 느린 리스트 , 큐로 이용했을 때 빠를 수도 있다. 수도..- -; ( 동기화 x )

equals - 대소문자 차이도 비교
equalsIgnoreCase - length 를 우선적으로 비교....동일길이의 String 비교시는 최악의 performance 

첫번째 글자 비교하기 위하여 startsWith 를 사용하는것보다 charAt(0) 을 빼서 비교하는게 performance 가 더 좋다 .
728x90