2022. 6. 27. 21:49ㆍJava/Java
배열 - Arrays
데이터를 나열하고 각 데이터를 인덱스에 대응하도록 구성하는 데이터 구조
같은 종류의 데이터를 순차적이고 효율적으로 관리하기 위해 사용한는 구조
장단점
장점 : 빠른 접근 가능 - 인덱스 번호를 가지고 접근
단점 : 최대 길이를 미리 지정하기 때문에 데이터 추가 및 삭제에 대한 어려움이 있다.
//new 키워드를 가지고 배열을 미리 선언 및 삽입 가능
Integer[] list = new Integer[5];
list[0] = 1;
list[1] = 2;
//list = {1, 2, _, _, _};
//위와 달리 선언시 데이터 삽입한 상태로 선언도 가능
Integer list[] = {1, 2, 3, 4, 5};
Integer[] list2 = {6, 7, 8, 9, 10};
자바에서는 배열을 편하게 사용하기 위해 java.util.Arrays나 java.util.ArrayList와 같은 클래스를 지원한다.
Arrays vs. ArrayList
위 둘은 배열 구조로써 데이터를 삽입 삭제 할 수 있고 Null 값을 저장 할 수 있으며 순서가 정해지지 않았다는 공통점이 존재한다.
하지만 가장 큰 차이점은 데이터 길이 조정 가능 여부이다.
Arrays는 정적인 배열로 한 번 생성하면 데이터 길이를 변경할 수 없다는 점이 있고,
ArraysList는 동적인 배열로 길이를 나타내는 Capacity 변수를 가진다. 이는 정해진 길이를 넘는다고 하여도 스스로 배열의 길이를 증가시키는 성질을 가진다.
그 외에도 여러가지 차이점이 존재한다.
Arrays는 다차원 배열의 기능 수행을 할 수 있으며, ArrayList는 1차원 배열의 기능만 수행 할 수 있다.
Arrays는 int, byte와 같은 Primitive type을 선언 할 수 있으나 ArrayList는 Integer와 같은 Wrapper type으로 선언하여야 한다.
제네릭형은 오직 ArrayList에서 사용 할 수 있다.
기본적으로 ArrayList는 아래와 같이 선언한다.
ArrayList<Integer> list = new ArrayList<Integer>();
ArrayList<String> list = new ArrayList<String>();
'Java > Java' 카테고리의 다른 글
자바 자료 구조 : 큐 - Queue (0) | 2022.06.27 |
---|---|
[JAVA] 객체 지향이란? (0) | 2022.04.03 |
[Java] BufferedWriter와 System.out.print (0) | 2022.02.09 |
[Java] 입출력 - BufferedReader와 Scanner (0) | 2022.02.07 |