배열이란 ?
배열객체를 사용할때는 ArrayList 를 사용한다.
동일한 자료형의 순차적 자료 구조
배열 선언하기
Int[] arr = new int[10]; // [ ] 몇 개의 공간을 쓸것인가 그만큼 방이 생긴다.
학생 100명이 있다면 변수100개를 만든다는 것은 불합리 하다. 동일한 자료를 순차적으로 관리하는 기본적인 자료구조가 배열이다.
인트 4바이트가 10개 배열길이(length)를 가진다. 총 40바이트
시작하는 첫칸은 0번째 라고 부른다.
Int[] arr = new int[5]; 총 20바이트가 잡힌다.
배열의 길이는 length 라고 부른다. Length 가 5라고 부르면 인덱스는 0부터 4까지를 가지게된다. 즉 0부터 length-1 까지 가진다.
물리적 위치(위치가다른) 랑 논리적 위치(순서대로) 가 다른 LinkedList 가 있다.
포인터로 next에 대한 값을 가지게 된다.
연결되서
배열은 크게만들고 이 요소들을 복사해가지고 또다른 배열을 사용한다. 연속된 자료구조 이다.
배열의 요소중 삭제하면 왼쪽으로 하나씩 채워진다. 중간에 끼어놓고 싶으면 2부터 엘리먼트를 뒤로 미룬다. 물리적으로 연결되어 있어서 index 연산자 배열의 몇번째
arr[1] 계산하기 쉽다. 배열의 이름이 주소를 가지고 있기 때문에 이 첨자만큼의 옵셋 계산하면 그 배열의 인덱스의 위치의 값을 꺼내올수있다.
나중 ArrayList 를 쓰는데 데이터를 카피 , 중간에 넣을 때 데이터를 떙기거나 미룰 때 이미 구현이 되어있어서 이런것에 대한 연산자고민을 하지않고 사용할수있다.
LinkedList는 필요할때마다 추가한다.
package array;
import javax.swing.plaf.synth.SynthSeparatorUI;
public class ArrayTest {
public static void main(String[] args) {
/*
int[] arr = new int[10]; // 0 ~ 9
int[] arr2 = new int[] {1,2,3}; // 생성과 동시에 초기화 , 넣은 수만큼 만들어진다.
int[] arr3 = {1,2,3}; // 선언과 동시에 초기화
int[] arr4;
arr= new int[]{1,2,3};
*/
// 1부터 10까지 배열에 넣고 합을 출력 해보기
int[] arr5 = new int[10];
int sum = 0;
for(int i=0 , num = 1; i < arr5.length; i++ , num++) { // lenth의 길이가 변한다고 해도 속성의 값을 가져올수있다.
arr5[i] = num;
}
for(int i = 0; i < arr5.length; i++) {
sum += arr5[i];
}
System.out.println(sum);
double[] dArr = new double[5]; // 5개의 공간에 3개만 넣으면 나머지 값은 0이 들어간다. 이때에는 count를 줘서
int count = 0;
dArr[0] = 1.1; count++; // 넣은 수만큼만 돌리기
dArr[1] = 2.1; count++;
dArr[2] = 3.1; count++;
double sum2 = 1;
for(int i = 0 ; i < count; i++) { // 배열의 길이만큼만 아닌 count 증가한수만큼 증가시킨다.
sum2 *= dArr[i];
}
System.out.println(sum2);
}
}
'JAVA Programming' 카테고리의 다른 글
[27] 다차원 배열 (0) | 2020.07.15 |
---|---|
[26] 객체 배열 (0) | 2020.07.14 |
[23] 배열 이란 ? (0) | 2020.07.14 |
[21] static 을 활용한 싱글톤 패턴 (0) | 2020.07.14 |
[20] static 변수 , 메소드 = 클래스변수 = 정적 변수 (0) | 2020.07.14 |