IT/Java
[Java] 배열의 중간에 새로운 값 추가하기
hi.anna
2021. 7. 17. 00:07
Java 배열의 중간에 새로운 원소를 추가하는 방법을 소개합니다.
- 반복문 사용하기
- ArrayList 활용하기
1. 반복문 사용하기
import java.util.Arrays;
public class AddArray {
public static void main(String[] args) {
// 원본 배열
String[] arr = {"A", "B", "D"};
// 추가할 value, index
String newValue = "C";
int position = 2;
// 새로운 배열의 길이
int newArrLength = arr.length + 1;
// 새로운 배열 생성
String[] newArr = new String[newArrLength];
// 지정된 위치에 새로운 값 추가하며, 새로운 배열에 담기
for( int i = 0; i < newArrLength; i++) {
if(i < position) {
newArr[i] = arr[i];
} else if( i == position) {
newArr[i] = newValue;
} else {
newArr[i] = arr[i - 1];
}
}
// 결과 출력
System.out.println(Arrays.toString(newArr)); // [A, B, C, D]
}
}
Java의 배열은 고정된 길이를 가집니다.
따라서, 배열에 새로운 값을 추가하기 위해서는
늘어난 길이만큼의 크기를 가지는 배열을 새로 만들어주고,
새로운 배열에 기존 값과 추가할 값을 넣어주었습니다.
2. ArrayList 활용하기
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class AddArray {
public static void main(String[] args) {
// 원본 배열
String[] arr = {"A", "B", "D"};
// 추가할 value, index
String newValue = "C";
int position = 2;
// 배열 -> List 변환
List<String> list = new ArrayList<>(Arrays.asList(arr));
// List에 새로운 값 추가
list.add(position, newValue);
// List -> 배열 변환
arr = list.toArray(arr);
// 결과 출력
System.out.println(Arrays.toString(arr)); // [A, B, C, D]
}
}
배열을 List로 변환하고,
List의 add() 메소드를 활용하여
원하는 위치에 새로운 값을 추가한 다음,
List를 다시 배열로 변환하였습니다.
Java에서 배열의 중간에 새로운 값을 추가하는 방법을 알아보았습니다.
반응형