프로그래밍 공부
Array, ArrayLists 본문
배열(Array) 선언 방법
int[] arr = {1,2,3};
int[] arr = new int[5];
// n개 생성
int n = 5;
// 길이가 5인 정수형 배열 생성
int[] array = new int[n];
배열 전체 출력 방법
import java.util.Arrays;
// 배열 내용을 반환
Arrays.toString(arr);
유용한 함수
import java.util.Arrays;
// Array.fill(arr, n)함수 배열 전체의 값을 n으로 채움
Arrays.fill(arr, 100);
// Arrays.equals 메서드는 두 배열의 길이와 요소를 비교
Arrays.equals(arr1, arr2);
// Arrays.sort() 요소를 오름차순으로 정렬
Arrays.sort(arr);
// 내림차순 정렬
// Arrays.sort()와 Collections.reverseOrder()를 함께 사용하여 구현할 수 있음
// 하지만, Collections.reverseOrder()는 기본 자료형 배열에는 직접 사용할 수 없고
// Integer와 같은 래퍼 클래스를 사용해야 함
// 이런식으로 레퍼 클래스로 내림차순 정렬
Integer[] arr = {5, 3, 8, 1, 2};
Arrays.sort(arr, Collections.reverseOrder());
// 기본 자료형을 사용할떄 내림차순 정렬
int[] arr = {5, 3, 8, 1, 2};
// 기본 자료형 배열을 래퍼 클래스 배열로 변환
Integer[] boxedArr = Arrays.stream(arr).boxed().toArray(Integer[]::new);
// 내림차순 정렬
Arrays.sort(boxedArr, Collections.reverseOrder());
// 래퍼 클래스 배열을 기본 자료형 배열로 변환
arr = Arrays.stream(boxedArr).mapToInt(Integer::intValue).toArray();
가변적 매개변수
...
는 가변적 매개변수를 나타내는 표기법- 가변적 매개변수는 메소드에서 여러 개 사용할 수 없으며(한번만 사용가능), 메소드의 마지막에 위치해야 함.
- 가변적 매개변수 앞에 다른 매개변수를 추가할 수 있습니다.
- 가변적 매개변수는 내부적으로 배열로 처리.
// ex
public void methodName(Type... variableName) {
// 메소드 본문
}
void print(int... num){
System.out.println(Arrays.toString(num));
}
int sum(int... vals){
int sum = 0;
for(int value:vals){
sum += value;
}
return sum;
}
ArrayList
Java의 컬렉션 프레임워크의 클래스 중 하나로, 동적으로 크기가 변할 수 있는 배열(C++ vector 같은 느낌)
java.util 패키지에 포함
동적 크기: 요소를 추가하거나 제거할 때 자동으로 크기가 조정됩니다.
인덱스 기반 접근: 배열과 마찬가지로 인덱스를 사용하여 요소에 접근할 수 있습니다.
비동기적:
ArrayList
는 동기화되지 않으므로 멀티스레드 환경에서는 외부에서 동기화를 해야 합니다.성능: 요소의 추가 및 삭제는 일반적으로 O(1)이지만, 중간에 삽입하거나 제거할 경우 O(n) 시간이 걸립니다.
생성방법
import java.util.ArrayList; public class ArrayListExample { public static void main(String[] args) { // 기본 생성자: 초기 용량은 10 ArrayList<String> list = new ArrayList<>(); // 초기 용량 지정 ArrayList<Integer> numbers = new ArrayList<>(20); } }
요소추가
add(E e)
: 리스트의 끝에 요소를 추가합니다.add(int index, E element)
: 지정된 위치에 요소를 삽입합니다.list.add("Apple"); list.add("Banana"); list.add(1, "Orange"); // index 1에 "Orange" 삽입
요소제거
remove(Object o)
: 리스트에서 지정된 객체를 제거합니다.remove(int index)
: 지정된 위치의 요소를 제거합니다.list.remove("Banana"); list.remove(0); // 첫 번째 요소 제거
요소접근 -
get(int index)
: 지정된 인덱스의 요소를 반환합니다.String fruit = list.get(0); // 첫 번째 요소 반환
요소수정 -
set(int index, E element)
: 지정된 위치의 요소를 새 값으로 수정합니다.list.set(0, "Grapes"); // 첫 번째 요소를 "Grapes"로 수정
리스트 크기 확인 -
size()
: 리스트에 포함된 요소의 수를 반환합니다.int size = list.size();
리스트 비우기 -
clear()
: 리스트의 모든 요소를 제거합니다.list.clear();
특정 요소 포함 확인 -
contains(Object o)
: 리스트에 지정된 요소가 포함되어 있는지 확인합니다.boolean hasApple = list.contains("Apple");
'Programming > JAVA' 카테고리의 다른 글
자바 컬렉션(Java Collection Framework) (0) | 2024.10.08 |
---|---|
객체지향 프로그래밍(다형성) (0) | 2024.10.08 |
객체지향 프로그래밍(추상 메서드, 인터페이스 정리) (0) | 2024.10.08 |
객체지향 프로그래밍(인터페이스) (0) | 2024.10.08 |
객체지향 프로그래밍(추상 클래스) (0) | 2024.10.08 |
Comments