배열 분류:
1. 배열의 첨자는 인덱스 배열과 연관 배열로 구분됩니다
/* 일반적으로 배열이라고 불리는 인덱스 배열 */
var ary1 = [1,3,5,8];
//0부터 시작하여 인덱스별로 배열 요소를 가져옵니다. (물론 일부 언어는 1부터 시작합니다.)
//인덱스는 실제로 서수, 정수입니다
경고(ary1[0]);
경고(ary1[1]);
경고(ary1[2]);
경고(ary1[3]);
/* 연관배열은 첨자로 비순수형으로 접근하는 배열을 말하며 파이썬에서는 딕셔너리(dictionary)라고 합니다. */
var ary2 = {};
//접근시 비서수(숫자)를 사용합니다. 여기에 문자열이 있습니다
ary2["one"] = 1;
ary2["two"] = 2;
ary2["thr"] = 3;
ary2["fou"] = 4;
2. 데이터 저장은 정적 배열과 동적 배열로 구분됩니다
// 자바의 정적 배열
// 정의 후에는 배열의 길이가 고정되어 변경할 수 없습니다.
인덱스로 배열 요소에 액세스합니다.
Int[] ary1 = {1,3,6,9};
//자바의 동적 배열
// Java에서 ArrayList의 구현은 Array를 기반으로 합니다. 여기서는 동적 배열을 구현하는 데 어떤 방법을 사용하든 일반화됩니다.
List ary2 = new ArrayList();
ary2.add(1);//요소를 동적으로 추가할 수 있으며 배열의 길이도 변경됩니다
ary2.add(3);
ary2.add(6);
/* js 배열은 동적 배열입니다 */
var ary = [];//길이가 지정되지 않은 배열 정의
ary[0] = 1; //요소를 동적으로 추가할 수 있습니다
ary.push(3);
ary.push(5);
Alert(ary.join(","));//출력 1,3,5
js의 배열은 기본적으로 js의 동적 언어 특성을 구현하는 js 객체이기 때문에 인덱스 배열과 동적 배열 모두에 속합니다. 그러나 js의 인덱스 배열은 메모리를 "지속적으로 할당"하지 않으므로 인덱싱 방식은 높은 효율성을 가져오지 못합니다. Java의 배열은 메모리를 지속적으로 할당합니다.