728x90
반응형
나중에 다시 찾아보기 위한 한글 번역 및 요약
동적 배열이란?
배열은 고정된 크기를 가지고 있습니다. 하지만 동적 배열은 배열의 크기를 고정하지 않고 바꿀 수 있는 배열입니다.
다음과 같이 사용이 가능합니다.
public class Main {
public static void main(String[] args) {
// 1. 초기화
List<Integer> v0 = new ArrayList<>();
List<Integer> v1;// v1은 비어있다.(v1 == null)
// 2. 배열을 벡터로 변경
Integer[] a = {0, 1, 2, 3, 4};
v1 = new ArrayList<>(Arrays.asList(a));
// 3. 복사본 만들기
List<Integer> v2 = v1;// v1에 대한 또 다른 참조
List<Integer> v3 = new ArrayList<>(v1);// v1의 실제 사본 만들기
// 4. 길이 얻기
System.out.println("The size of v1 is: " + v1.size());
// 5. 원소 접근
System.out.println("The first element in v1 is: " + v1.get(0));
// 6. 벡터 값 출력 반복
// 6-1. 방법 1
System.out.print("[Version 1] The contents of v1 are:");
for (int i = 0; i < v1.size(); ++i) {
System.out.print(" " + v1.get(i));
}
System.out.println();
// 6-2. 방법 2
System.out.print("[Version 2] The contents of v1 are:");
for (int item : v1) {
System.out.print(" " + item);
}
System.out.println();
// 7. 원소 수정
// 7-1. v2의 인덱스 0의 원소 값 5로 수정된다.
v2.set(0, 5);
// v2는 v1를 참조하고 있기 때문에 v1이 수정된다.
System.out.println("The first element in v1 is: " + v1.get(0));
// 7-2. v3의 인덱스 0의 원소 값 -1로 수정
v3.set(0, -1);
// v3는 v1의 참조가 아닌 복사본이기 때문에
// v1이 값이 바뀌는 것이 아니라 v3의 0번째 인덱스 값이 바뀐다.
System.out.println("The first element in v1 is: " + v1.get(0));
System.out.println("The first element in v3 is: " + v3.get(0));
// 8. 정렬
Collections.sort(v1);
// 9. 새로운 원소 추가
// 9-1. 마지막 위치에 -1 추가된다.
v1.add(-1);
// 9-2. 인덱스 1 위치에 6을 추가된다.
v1.add(1, 6);
// 10. 마지막 원소 제거
v1.remove(v1.size() - 1);
}
}
|
반응형
'프로그램 개발 > 미분류' 카테고리의 다른 글
[LeetCode/Python/Java]Array and String - Plus One (0) | 2020.08.22 |
---|---|
[LeetCode/Python/Java]Array and String - Largest Number At Least Twice of Others (0) | 2020.08.21 |
[LeetCode/Python/Java]Array and String - Find Pivot Index (0) | 2020.08.21 |
[LeetCode/Java]Array and String - Introduction to 2D Array (0) | 2020.08.21 |
[LeetCode/Java]Array and String - Introduction to Array (0) | 2020.08.20 |