배열의 생성
//int 배열
int[] numbers1 = new int[4];
//string 배열
String[] strings = new String[4];
//배열에 값 저장
numbers1[0]=10;
numbers1[1]=20;
numbers1[2]=30;
int[] numbers2 = {10, 20, 30, 40};
int[] numbers3 = new int[]{10, 20, 30, 40};
이러한 방법으로 배열을 생성하고 저장한다!
배열 값 출력하기
-index로 출력하는 방법
-전체 배열 출력
import java.util.Arrays;
class CodeRunner{
public static void main(String[] args){
int[] numbers1 = {0,1,2,3,4,5};
System.out.println(Arrays.toString(numbers1));
}
}
-배열(array)의 한계
처음에 배열의 크기를 지정하기 때문에 한계점이 있다
코드 중간부터 배열의 크기를 수정하기 쉽지 않기 때문
배열과 다르게 리스트는 연속적이다.
예를 들어 배열 {1,2,3,4,5}를 생성하고 0번 index를 삭제하면 0번 index는 공석이 된다.
즉 배열의 크기와 자리가 정해져 있기 때문에 그대로인 것이다. 이와 다르게 리스트는
0번 index를 삭제하면 index 1번 자리에 있던 원소가 index 0번으로 자리가 바뀌게 된다.
또한 배열에서 원소 5가 있는 자리에 다른 값을 추가하면 5가 삭제되고 다른 값이 온다. 그러나
리스트에서는 새로운 값을 추가하면 그 뒤에 추가된다.
리스트 생성
ArrayList numbers = new ArrayList();
numbers.add(10);
numbers.add(20);
numbers.add(30);
numbers.add(40);
numbers.add(50);
numbers.remove(3);
System.out.println(numbers);
결과 값은 [10, 20, 30, 50]이다.
이처럼 자바는 배열과 리스트 중에 자신의 상황에 맞는 선택을 분명하게 선택할 수 있도록 이것들을 별도의 기능으로 지원하고 있다. 자바에서는 개발자에게 자유도를 높게 준 것이다.
아래는 arraylist와 linkedlist에 대한 특징이다.
arraylist는 추가 삭제가 느린 반면 인덱스 조회는 매우 빠르다. linkedlist는 추가 삭제가 빠르나 인덱스 조회가 느린 특징을 가진다.
댓글 영역