배열이란 ?
배열객체를 사용할때는 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는 필요할때마다 추가한다.
'JAVA Programming' 카테고리의 다른 글
[27] 다차원 배열 (0) | 2020.07.15 |
---|---|
[26] 객체 배열 (0) | 2020.07.14 |
[24] 배열이란 ? (2) (0) | 2020.07.14 |
[21] static 을 활용한 싱글톤 패턴 (0) | 2020.07.14 |
[20] static 변수 , 메소드 = 클래스변수 = 정적 변수 (0) | 2020.07.14 |