--- id: java-arraylist title: "Java ArrayList" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["μžλ°” ArrayList"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.9 created_at: 2026-07-04 updated_at: 2026-07-04 review_reason: "" merge_history: [] tags: ["java", "programming", "w3schools", "collections-framework", "arraylist"] raw_sources: ["https://www.w3schools.com/java/java_arraylist.asp"] applied_in: [] github_commit: "" --- # [[Java ArrayList]] ## 🎯 ν•œ 쀄 톡찰 (One-line insight) Storing primitives in an ArrayList requires their WRAPPER classes, not the primitives themselves β€” `ArrayList` works but `ArrayList` doesn't compile, because ArrayList elements are objects and Java's primitives (`int`, `boolean`, `char`, `double`) aren't objects; each has an object wrapper (`Integer`, `Boolean`, `Character`, `Double`). [S1] ## 🧠 핡심 κ°œλ… (Core concepts) - **`ArrayList`** β€” a resizable array; unlike plain arrays, elements can be added/removed at any time. [S1] - **Core methods** β€” `add()`, `add(index, value)` (insert at position), `get()`, `set()`, `remove()`, `clear()`, `size()`. [S1] - **Wrapper classes required for primitives** β€” `Integer` for int, `Boolean` for boolean, `Character` for char, `Double` for double. [S1] - **`Collections.sort()`** β€” sorts an ArrayList alphabetically (Strings) or numerically (numbers). [S1] - **`var` keyword (Java 10+)** β€” infers the type, avoiding repeating `ArrayList` on both sides. [S1] - **List-typed variable holding an ArrayList** β€” `List cars = new ArrayList<>();` β€” valid since ArrayList implements List; offers flexibility to swap implementations later. [S1] ## πŸ“– μ„ΈλΆ€ λ‚΄μš© (Details) - Basic creation and add: `ArrayList cars = new ArrayList(); cars.add("Volvo"); cars.add("BMW");`. [S1] - Insert at index: `cars.add(0, "Mazda"); // insert at the beginning`. [S1] - Access/modify/remove: `cars.get(0); cars.set(0, "Opel"); cars.remove(0); cars.clear(); cars.size();`. [S1] - Loop with index or for-each: `for (int i = 0; i < cars.size(); i++) { System.out.println(cars.get(i)); }` or `for (String i : cars) { System.out.println(i); }`. [S1] - Wrapper class for numbers: `ArrayList myNumbers = new ArrayList(); myNumbers.add(10);`. [S1] - Sorting: `Collections.sort(cars); // alphabetical or numeric sort`. [S1] - var keyword: `var cars = new ArrayList();`. [S1] ## βš–οΈ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & updates) - **μ›μ‹œ νƒ€μž… μ €μž₯ λΆˆκ°€**: ArrayList의 μš”μ†ŒλŠ” κ°μ²΄μ΄λ―€λ‘œ int/boolean λ“± μ›μ‹œ νƒ€μž…μ€ 직접 μ €μž₯ν•  수 μ—†κ³  λ°˜λ“œμ‹œ 래퍼 클래슀(Integer, Boolean λ“±)λ₯Ό μ‚¬μš©ν•΄μ•Ό 함이 λͺ…μ‹œλ¨. [S1] ## πŸ› οΈ 적용 사둀 (Applied in summary) ν˜„μž¬ 발견된 μ‹€μ œ 적용 사둀가 μ—†μŠ΅λ‹ˆλ‹€ β€” λ¬Έμžμ—΄/숫자 리슀트λ₯Ό Collections.sort()둜 μ •λ ¬ν•˜λŠ” 것이 μ‹€μ „μ—μ„œ 자주 μ“°μ΄λŠ” νŒ¨ν„΄μ΄λ‹€. [S1] ## πŸ’» μ½”λ“œ νŒ¨ν„΄ (Code patterns) Sorting an ArrayList with Collections.sort() (Java): ```java import java.util.ArrayList; import java.util.Collections; ArrayList cars = new ArrayList(); cars.add("Volvo"); cars.add("BMW"); cars.add("Ford"); cars.add("Mazda"); Collections.sort(cars); for (String i : cars) { System.out.println(i); } ``` ## βœ… 검증 μƒνƒœ 및 신뒰도 - **μƒνƒœ:** draft - **검증 단계:** conceptual - **좜처 신뒰도:** B (W3Schools β€” widely used educational reference, not a primary standards body) - **μ‹ λ’° 점수:** 0.90 - **쀑볡 검사 κ²°κ³Ό:** μ‹ κ·œ 생성 (New discovery) ## πŸ”— 지식 κ·Έλž˜ν”„ (Knowledge Graph) - **μƒμœ„/루트:** [[Java Tutorial]] - **κ΄€λ ¨ κ°œλ…:** [[Java List]], [[Java LinkedList]], [[Java Sort List]], [[Java Var Keyword]] - **μ°Έμ‘° λ§₯락:** List μΈν„°νŽ˜μ΄μŠ€μ˜ λŒ€ν‘œ κ΅¬ν˜„μ²΄ β€” LinkedListμ™€μ˜ 비ꡐ μ±•ν„°λ‘œ 이어짐. ## πŸ“š 좜처 (Sources) - [S1] W3Schools β€” Java ArrayList β€” https://www.w3schools.com/java/java_arraylist.asp ## πŸ“ λ³€κ²½ 이λ ₯ (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "Java ArrayList" page (Astra wiki-curation, P-Reinforce v3.1 format).