자바 배열쓰기가 너무 어렵다.
파이썬에서 list 하나로 웬만한건 다 처리가 가능했어서 더욱 어렵다.
계속 써보는중이긴한데 내 마음의 위험한 녀석이다. 속이 터져버릴지도...
그래서 일단 GPT형님에게 배열 관련된것좀 다 정리해달라고 했다.
배열 생성 및 초기화
자바에서 배열을 생성하고 초기화하는 방법은 다음과 같습니다.
정수 배열 생성 및 초기화
public class Main {
public static void main(String[] args) {
// 정수형 배열 선언 및 크기 지정
int[] numbers = new int[5];
// 배열 초기화
numbers[0] = 1;
numbers[1] = 2;
numbers[2] = 3;
numbers[3] = 4;
numbers[4] = 5;
// 배열 출력
for (int number : numbers) {
System.out.println(number);
}
}
}
배열 선언과 동시에 초기화
public class Main {
public static void main(String[] args) {
// 선언과 동시에 초기화
int[] numbers = {1, 2, 3, 4, 5};
// 배열 출력
for (int number : numbers) {
System.out.println(number);
}
}
}
배열 요소 접근 및 수정
배열의 각 요소에 접근하거나 수정하려면 인덱스를 사용합니다.
public class Main {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
// 배열의 첫 번째 요소 출력
System.out.println("첫 번째 요소: " + numbers[0]);
// 배열의 세 번째 요소를 10으로 수정
numbers[2] = 10;
System.out.println("수정된 세 번째 요소: " + numbers[2]);
}
}
배열 복사 및 슬라이싱
자바에서는 System.arraycopy와 Arrays.copyOfRange를 사용하여 배열을 복사하거나 슬라이싱할 수 있습니다.
System.arraycopy를 사용한 배열 복사
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] sourceArray = {1, 2, 3, 4, 5};
int[] destinationArray = new int[5];
// 배열 복사
System.arraycopy(sourceArray, 0, destinationArray, 0, sourceArray.length);
// 결과 출력
System.out.println(Arrays.toString(destinationArray)); // 출력: [1, 2, 3, 4, 5]
}
}
Arrays.copyOfRange를 사용한 배열 슬라이싱
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
// 배열 슬라이싱: 인덱스 1부터 3까지 (3은 포함되지 않음)
int[] slicedArray = Arrays.copyOfRange(numbers, 1, 3);
// 결과 출력
System.out.println(Arrays.toString(slicedArray)); // 출력: [2, 3]
}
}
배열 정렬
자바에서는 Arrays.sort를 사용하여 배열을 정렬할 수 있습니다.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] numbers = {5, 3, 1, 4, 2};
// 배열 정렬
Arrays.sort(numbers);
// 결과 출력
System.out.println(Arrays.toString(numbers)); // 출력: [1, 2, 3, 4, 5]
}
}
배열 검색
자바에서는 Arrays.binarySearch를 사용하여 정렬된 배열에서 요소를 검색할 수 있습니다.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
// 배열 검색
int index = Arrays.binarySearch(numbers, 3);
// 결과 출력
System.out.println("요소 3의 인덱스: " + index); // 출력: 2
}
}
find나 sort는 있어서 다행이다.
지금 고통받고 있는 부분은 슬라이싱 부분이다.
뱀독이 어느정도 빠졌다고 생각했는데 새롭게 구간을 나눈 배열을 직접 코드로 작성해서 만들어야 한다는것을 마음이 받아들이지 못하고있다.
왜이렇게 융통성이 없나요 자바...
'java' 카테고리의 다른 글
JAVA Servlet 주요 인터페이스 정리 (GPT ver) (0) | 2024.07.04 |
---|---|
System.arraycopy vs Arrays.copyOfRange (0) | 2024.06.27 |
ArrayList의 toArray() (0) | 2024.06.25 |
자바 타입 확인 메소드 (0) | 2024.06.21 |
자바를 공부하며 (0) | 2024.06.21 |