--- id: java-data-structures title: "Java Data Structures" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["자바 자료구조 개요"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.88 created_at: 2026-07-04 updated_at: 2026-07-04 review_reason: "" merge_history: [] tags: ["java", "programming", "w3schools", "data-structures"] raw_sources: ["https://www.w3schools.com/java/java_data_structures.asp"] applied_in: [] github_commit: "" --- # [[Java Data Structures]] ## 🎯 한 줄 통찰 (One-line insight) The choice between ArrayList/HashSet/HashMap comes down to a single 3-column decision table (order-kept? duplicates-allowed? best-for) — order+duplicates → ArrayList, uniqueness → HashSet, key-based lookup → HashMap, giving a fast heuristic before diving into each structure's details. [S1] ## 🧠 핵심 개념 (Core concepts) - **Data structure** — a way to store/organize data efficiently; arrays are the simplest example. [S1] - **`ArrayList`** — resizable array; keeps insertion order; allows duplicates; access by index. [S1] - **`HashSet`** — every element unique; adding a duplicate is silently ignored; no fixed order. [S1] - **`HashMap`** — stores key-value pairs for fast lookup by key; keys unique, values can duplicate. [S1] - **Iterator** — a standard way to loop through any data structure via `hasNext()`/`next()`. [S1] ## 📖 세부 내용 (Details) - ArrayList: `ArrayList cars = new ArrayList(); cars.add("Volvo"); cars.add("BMW"); ...`. [S1] - HashSet dedup: `HashSet cars = new HashSet(); cars.add("BMW"); cars.add("BMW"); // duplicate ignored`. [S1] - HashMap key-value: `HashMap capitalCities = new HashMap(); capitalCities.put("England", "London"); ...`. [S1] - Iterator loop: `Iterator it = cars.iterator(); while(it.hasNext()) { System.out.println(it.next()); }`. [S1] - Comparison table: ArrayList (ordered, duplicates OK, index access), HashSet (unique, no order, fast checks), HashMap (key-value, no order, fast key lookup). [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) 소스에서 모순되는 정보는 발견되지 않음. ## 🛠️ 적용 사례 (Applied in summary) 현재 발견된 실제 적용 사례가 없습니다 — 국가-수도 매핑(HashMap)이 키 기반 조회의 대표 예시다. [S1] ## 💻 코드 패턴 (Code patterns) Quick comparison: ArrayList, HashSet, HashMap (Java): ```java ArrayList cars = new ArrayList(); // ordered, duplicates OK HashSet uniqueCars = new HashSet(); // unique only HashMap capitalCities = new HashMap(); // key-value ``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.88 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[Java Tutorial]] - **관련 개념:** [[Java Collections]], [[Java List]], [[Java Set]], [[Java Map]], [[Java Iterator]] - **참조 맥락:** 자료구조 전체 섹션의 개념적 도입부 — Collections Framework 챕터로 이어짐. ## 📚 출처 (Sources) - [S1] W3Schools — Java Data Structures — https://www.w3schools.com/java/java_data_structures.asp ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "Java Data Structures" page (Astra wiki-curation, P-Reinforce v3.1 format).