산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java ArrayList 마스터: 연산, 메서드, 모범 사례

Java ArrayList 클래스

명확한 실전 예제로 Java ArrayList 생성, 조작, 순회 전체 파워 발견.

ArrayList 클래스는 Java 컬렉션 프레임워크 일부로 List 인터페이스 구현, 가변 배열 데이터 구조 제공. 정적 배열과 달리 요소 추가/제거 시 ArrayList 자동 용량 조절, 동적 배열 만듦.

Java ArrayList 마스터: 연산, 메서드, 모범 사례

ArrayList vs 배열

전통적 배열 선언 시 고정 크기 필요, 유연성 제한. ArrayList 이 제한 극복, 필요 시 리사이징으로 효율적 동적 데이터 처리 가능.


ArrayList 생성

사용 전 클래스 임포트:

import java.util.ArrayList;

원하는 요소 타입으로 인스턴스화:

// Integer 타입 ArrayList ArrayList<Integer> intList = new ArrayList<>(); // String 타입 ArrayList ArrayList<String> strList = new ArrayList<>();

참고: 제네릭이 원시 타입 미지원이므로 래퍼 클래스 사용(예: int용 Integer).


예제: ArrayList 생성

import java.util.ArrayList; class Main { public static void main(String[] args){ ArrayList<String> languages = new ArrayList<>(); languages.add("Java"); languages.add("Python"); languages.add("Swift"); System.out.println("ArrayList: " + languages); } }

출력

ArrayList: [Java, Python, Swift]

ArrayList 기본 연산

핵심 연산: 요소 추가, 접근, 수정, 제거. 각 간결 코드 스니펫.


1. 요소 추가

단일 요소 추가:

ArrayList<String> languages = new ArrayList<>(); languages.add("Java"); languages.add("C"); languages.add("Python"); System.out.println("ArrayList: " + languages);

출력

ArrayList: [Java, C, Python]

특정 인덱스 삽입:

languages.add(1, "JavaScript"); languages.add(3, "C++");

컬렉션에서 모든 요소 추가:

import java.util.ArrayList; import java.util.HashSet; class Main { public static void main(String[] args) { HashSet<String> vowels = new HashSet<>(); vowels.add("a"); vowels.add("e"); vowels.add("i"); ArrayList<String> alphabets = new ArrayList<>(); alphabets.addAll(vowels); System.out.println("ArrayList: " + alphabets); } }

출력

ArrayList: [a, e, i]

2. 요소 접근

인덱스로 조회:

ArrayList<String> animals = new ArrayList<>(); animals.add("Cat"); animals.add("Dog"); animals.add("Cow"); String str = animals.get(1); System.out.print("Element at index 1: " + str);

출력

Element at index 1: Dog

필요시 Iterator로 순회.


3. 요소 수정

기존 요소 교체:

ArrayList<String> languages = new ArrayList<>(); languages.add("Java"); languages.add("Kotlin"); languages.add("C++"); languages.set(2, "JavaScript"); System.out.println("Modified ArrayList: " + languages);

출력

Modified ArrayList: [Java, Kotlin, JavaScript]

4. 요소 제거

인덱스로:

ArrayList<String> animals = new ArrayList<>(); animals.add("Dog"); animals.add("Cat"); animals.add("Horse"); String removed = animals.remove(2); System.out.println("Updated ArrayList: " + animals); System.out.println("Removed Element: " + removed);

출력

Updated ArrayList: [Dog, Cat] Removed Element: Horse

clear()로 모든 요소 제거 또는 removeAll()로 범위 제거.


자주 쓰는 ArrayList 메서드

기본 CRUD 외 자주 사용되는 메서드:

메서드설명
size()요소 개수 반환.
sort()리스트 정렬.
clone()얕은 복사 생성.
contains()요소 존재 여부 확인.
ensureCapacity()공간 미리 할당.
isEmpty()리스트 비었는지 확인.
indexOf()첫 출현 인덱스 찾기.

전체 목록은 공식 ArrayList API 참조.


for-each로 순회

ArrayList<String> animals = new ArrayList<>(); animals.add("Cow"); animals.add("Cat"); animals.add("Dog"); for (String animal : animals) { System.out.print(animal + ", "); }

출력

Cow, Cat, Dog, 

자주 묻는 질문

Java ArrayList와 LinkedList 차이?

ArrayListLinkedList
List 인터페이스 구현List, Queue, Deque 구현
단일 연속 메모리 블록next/prev 참조 가진 노드
랜덤 접근 O(1)순차 접근 O(n)
동적 리사이징동적 리사이징

ArrayList를 배열로 변환?

String[] arr = new String[languages.size()]; languages.toArray(arr);

배열을 ArrayList로 변환?

ArrayList<String> list = new ArrayList<>(Arrays.asList(arr));

한 줄로 ArrayList 생성 및 초기화?

ArrayList<String> list = new ArrayList<>(Arrays.asList("Java", "Python", "C"));

ArrayList를 String으로 변환?

String str = languages.toString();

List 인터페이스로 ArrayList 생성?

List<String> list = new ArrayList<>();

java

  1. Java final 키워드 마스터: 변수, 메서드, 클래스에서의 활용
  2. Java instanceof 연산자 완벽 가이드: 기본 사용법부터 상속, 인터페이스까지
  3. Java 정적 중첩 클래스 이해: 용법, 내부 클래스와의 차이, 예제
  4. Java 익명 내부 클래스 마스터: 정의, 문법, 실전 예제
  5. Java 싱글톤 패턴 완벽 가이드: 안전하게 구현하고 사용하기
  6. Java 리플렉션 마스터: 런타임에 클래스, 메서드, 필드 검사 및 조작
  7. Java Vector 완벽 가이드: 사용법, 특징, ArrayList와의 비교
  8. Java 컬렉션 알고리즘 마스터하기: 정렬, 셔플링 등
  9. Java ObjectOutputStream 마스터하기: 직렬화, 메서드, 실전 예제
  10. Java 제네릭 마스터하기: 재사용 가능하고 타입 안전한 코드 작성