JAVA 프로그래밍 사고(제4판) 학습 노트----11.4 컨테이너 인쇄
import static java.lang.System.out; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.Map; import java.util.TreeMap; import java.util.TreeSet; public class ContainerFramework { static Collection fill(Collection<String> collection) { collection.add("rat"); collection.add("cat"); collection.add("dog"); collection.add("dog"); return collection; } static Map fill(Map<String, String> map) { map.put("rat", "Fuzzy"); map.put("cat", "Rags"); map.put("dog", "Bosco"); map.put("dog", "Spot"); return map; } public static void main(String[] args) { out.println(fill(new ArrayList<String>())); out.println(fill(new LinkedList<String>())); out.println(fill(new HashSet<String>())); out.println(fill(new TreeSet<String>())); out.println(fill(new LinkedHashSet<String>())); out.println(fill(new HashMap<String, String>())); out.println(fill(new TreeMap<String, String>())); out.println(fill(new LinkedHashMap<String, String>())); } }
[rat, cat, dog, dog] [rat, cat, dog, dog] [cat, dog, rat] [cat, dog, rat] [rat, cat, dog] {cat=Rags, dog=Spot, rat=Fuzzy} {cat=Rags, dog=Spot, rat=Fuzzy} {rat=Fuzzy, cat=Rags, dog=Spot}
코드를 실행한 후 Collection이 수행되는 결과를 볼 수 있습니다. 인쇄된 내용은 대괄호 []로 묶여 있으며 각 요소는 쉼표로 구분됩니다. Map의 인쇄된 내용은 중괄호 {}로 둘러싸여 있으며 키와 값은 하나의 요소(key)로 등호로 연결됩니다. = 값), 각 요소는 쉼표로 구분됩니다.
Java 컨테이너 클래스에는 두 가지 유형이 있습니다. 즉, Collection 인터페이스를 루트로 사용하는 컬렉션 클래스와 Map을 루트로 사용하는 연관 배열 클래스입니다.
컬렉션 인터페이스에는 List(list), Set(set),Queue(queue)
List에는 ArrayList와 LinkedList라는 두 가지 중요한 구현이 있습니다.
List 인터페이스의 모든 구현 클래스는 둘 다 다음을 보장합니다. 해당 요소는 삽입 순서대로 저장될 수 있으므로 List는 순서가 지정된 컬렉션입니다. ArrayList의 장점은 해당 요소에 무작위로 효율적으로 액세스할 수 있다는 점이지만, 단점은 지정된 위치에 요소를 삽입하고 제거하는 성능이 상대적으로 느리다는 것입니다. LinkedList는 임의 접근 측면에서는 느리지만 지정된 위치에 요소를 삽입하고 제거하는 데는 더 효율적입니다.
2. Set에는 HashSet, TreeSet 및 LinkedHashSet이라는 세 가지 중요한 구현이 있습니다.
Set 인터페이스의 모든 구현 클래스는 해당 요소가 반복 . HashSet은 해시 알고리즘을 사용하여 요소를 집합에 저장하지만 요소를 얻는 효율성은 가장 빠릅니다. TreeSet은 비교 결과의 오름차순으로 집합의 요소를 저장하는 순서 집합입니다. LinkedHashSet은 순서가 지정된 컬렉션이기도 하며, 요소가 삽입된 순서대로 개체를 저장하는 동시에 HashSet의 쿼리 속도를 갖습니다.
3. 큐
큐를 사용하면 컨테이너의 한쪽 끝에 데이터를 삽입하고 다른 쪽 끝에 데이터를 삭제할 수 있습니다.
Map 인터페이스에는 HashMap, TreeMap 및 LinkedHashMap이라는 세 가지 중요한 하위 유형이 있습니다. 값은 키로 찾을 수 있습니다.
HashMap은 순서가 없습니다. , 검색 속도가 가장 빠릅니다.
TreeMap은 비교 핵심 결과의 오름차순으로 저장되며 LinkedHashMap은 삽입된 요소의 순서로 저장되며 쿼리 속도도 유지됩니다. HashMap의