Java 컨테이너 요약

2167 단어 listsetmapCollection
Collection :   
    |--SubInterface    
        |--Set
            |-- SortSet
                |-- TreeSet
내부는 실제로 TreeMap 객체입니다.
compareTo 방법을 사용하여 비교합니다.
비교적 큰 것은left에 있고, 작은 것은right 끝에 있다.
            |-- HashSet
내부는 실제적으로 HashMap 또는 LinkedHashMap이며,dd 방법은 실제적으로 맵을 호출하는put입니다
중복 객체 없음: hashCode 및 equals 메서드를 다시 작성해야 합니다.
무질서하다
저장 허용
동기화 중단
            
        |--List
            |-- ArrayList
실제 내부는 수조입니다.
새 ArrayList()에 빈 배열을 만듭니다.add 방법은 크기를 초기화합니다. 기본값은 10입니다.
만일 가득 저장한 후에 확장을 진행하면 확장은 공식에 따라 원용량+원용량>>1;
                
            |-- LinkList
안은 Node 객체 first, last입니다.
add는 linkLast 방법을 호출합니다. 만약 last가 비어 있다면, last와 first는 모두 이 대상입니다.  
add 방법은 다음과 같습니다.
              
final Node<E> l = last;
 final Node<E> newNode = new Node<>(l, e, null);
 last = newNode;
 if (l == null)
   first = newNode;
 else
   l.next = newNode;
 size++;
 modCount++;

       
            |-- Vector
내부 실은 객체 배열입니다.dd 방법을 호출할 때 크기를 초기화합니다. 기본값은 10입니다.
꽉 차면 용량을 늘리고, 들어오는 용량에 따라 용량을 늘리고, 안 들어오면 원 용량에 따라 용량을 늘린다.
dd 방법은 동기화됩니다.
            
Map
|--HashMap:AbstractMap의 하위 클래스
HashMap에서 사실 하나뿐인 Map.Entry의 구현 클래스 Node 객체즉, HashMap은 실제로 Node의 배열입니다.기본 크기는 16개, 기본 임계값은 12,
HashMap의 원소 수가 12를 초과할 때 확장을 하고 매번 *2의 확장을 진행한다.
put 방법은 비동기적입니다.null 키와null 값을 허용합니다.        
put할 때 방법의 hashCode 방법과 equals 방법을 호출하여 키를 비교합니다.
get 방법은 비동기적입니다.
get 방법은 getNode를 호출한 다음 대상의hashCode와 값 (equals) 을 비교한 다음 되돌아오는 것입니다.
        
        |--LinkedHashMap
        
|--HashTalbe:Dictionary의 하위 클래스
HashTable 중 실제 하나의 Map.Entry 구현 클래스 Entry 객체즉, HashTable은 실제로 Entry의 배열입니다.기본 크기는 11개, 기본 임계값은 8.
HashTable의 원소 수가 8을 초과할 때, 매번 *2+1의 확장을 진행합니다.임계치는 용량의 75f배다.
put 방법은 동기화됩니다.null 키와null 값을 허용하지 않습니다.
put 방법은 대상의hashCode와 equals 방법을 호출하여 키를 비교합니다.
get 방법은 동기화됩니다.
get 방법은 대상의hashCode와 equals를 호출하여 키의 값을 비교합니다. 존재하면 되돌려줍니다.        
    |--SortedMap    
        |--TreeMap
위에는 자신의 몇 가지 총결이 있습니다. 신의 가르침, 보충을 환영합니다!

좋은 웹페이지 즐겨찾기