노트 27--Set, Map, List
List
소개하다
Collection: 가장 기본적인 집합 인터페이스입니다. Collection은 Object, 즉 Collection의 요소를 대표합니다.
1. List: 목록(인터페이스)이며 중복된 값이 나타날 수 있고 질서정연하다(아래 첨자를 통해 접근할 수 있다).Collection 인터페이스를 상속합니다.
구현 클래스:
1) ArrayList: 배열에 의한 List.원소에 대한 빠른 무작위 접근을 허용하지만,list 중간에 원소를 삽입하고 제거하는 속도가 느립니다.
2) LinkedList: 순서 접근을 최적화하여list 중간에 삽입하고 삭제할 때 속도가 빠르고 무작위 접근 속도가 느립니다.
3) Vector: ArrayList와 다른 점은 스레드를 기반으로 하는 것이 안전하지만 ArrayList보다 효율이 높지 않다는 것이다.다른 차이점은 다시 알아보자.
2. Set: 컬렉션이며 중복된 값은 허용되지 않습니다.Collection 인터페이스를 상속합니다.
구현 클래스:
1) HashSet: 하단은 HashMap에서 수행합니다.
2)LinkedHashSet
3. Map: Map은 Collection 인터페이스를 계승하지 않고 키-value 매핑 그룹을 구성합니다.
구현 클래스:
1) HashMap: 스레드가 안전하지 않고 효율적이며 value를 null로 지원합니다.
2) HashTable: 스레드가 안전하고 비효율적이며,value는null로 지원되지 않습니다.
3)LinkedHashMap
2. 추가 삭제 및 수정 및 포함
1. list:
증가:add (위치, 요소)/add (요소) 삭제:remove () 변경:set () 검색:get () 포함:contains ()
2. set:set
증가:dd (요소) 삭제:remove () 변경: 직접 변경할 수 없습니다. 삭제하고 다시 검사할 수 있습니다:HashSet은 순서가 없기 때문에 지정한 위치의 값을 찾을 수 없습니다:contains ()
3. 맵
증가:put () 삭제:remove () 변경:put () 덮어쓰기 원값 찾기:get () 포함:containsKey (),containsValue ()
두루
1. list:
첫 번째: Iterator itr = list.iterator(); while (itr.hasNext()) { Object nextObj = itr.next(); }
이런 방식은 순환 과정에서 데이터 잠금을 진행하고 성능이 약간 떨어지며, 동시에 즐거움을 찾는 과정에서 어떤 요소를 제거하려면 it만 호출할 수 있다.remove 방법,list 할 수 없습니다.remove 방법, 그렇지 않으면 병렬 접근 오류가 발생합니다.
두 번째:
for(A a : list) {
.....
}
내부에서 첫 번째로 탕을 바꾸고 약을 바꾸지 않는 순환 방식에는 또 다른 제한이 있으므로 사용을 권장하지 않는다
세 번째:
for(int i=0; i
...
}
내부는 잠기지 않고 효율이 가장 높지만 다중 스레드를 쓸 때 병렬 조작을 고려해야 합니다!
2. set에 대해:
1) 반복: Set
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.