1. 배열(Array)
[배열(Array)이란 무엇인가]
- 거의 모든 언어에서 지원하는 문법이다.
- 배열은 가장 기본적인 자료구조다. 즉, 앞으로 배울 많은 자료구조들이 배열을 부품으로 사용된다.
- 데이터가 적다면 물론 일반 변수를 사용하여 값을 저장하여 사용하면 문제없다.
- 하지만, 데이터가 많아질수록 그룹 관리에 대한 필요성이 생긴다. 이럴 때 배열을 사용하게 된다.
- 즉, 배열은 여러 데이터를 하나의 이름으로 그룹핑해서 관리하기 위한 목적으로 사용하는 자료구조이다.
- element = value + index (value = 저장된 실제 데이터, index는 데이터를 저장 및 조회를 위한 위치 식별자(Index))
- 배열은 반복문과 조합하면 훨씬 더 효율적으로 사용할 수 있다.
[배열의 생성 방법]
int[] number = new int[5];number[0] = 10;
number[1] = 20;
number[2] = 30;
number[3] = 40;
number[4] = 50;
위 코드가 바로 배열을 생성하고, 인덱스에 값을 대입하는 코드이다. 또한 더 간단하게 생성을 하고 싶다면
int[] number2 = {10,20,30,40,50};
또는 int[] number3 = new int[]{10,20,30,40,50};
모두 같은 의미이다.
[배열 안에 저장된 값을 가져오는 방법(하나의 데이터를 가져올때)]
이를 위해서 인덱스(Index)가 필요하다.
number[0]; 을 호출하면 0번째 인덱스의 값(value)를 가져오게 된다
[배열 안에 저장된 값을 가져오는 방법(하나의 데이터를 가져올때)]
이를 위해서 반복문이 필요하다. while 또는 for문을 통해 0부터 0!부!터! 배열의 크기만큼(number.length) 반복한다.
[배열 안에 저장된 길이를 구하는 방법]
[배열의 장점]
[배열의 단점 --> 이 단점때문에 ArrayList를 사용한다]
2. 리스트(List)
리스트의 특징 : 1. 데이터가 순서대로 저장된다. 2. 중복 데이터를 허용된다.
|
추가/ 삭제 |
인덱스 조회 |
ArrayList |
느림 |
빠름 |
LinkedList |
빠름 |
느림 |
[ArrayList 사용방법 - 추가(Insert)]
number.add(10);
number.add(20);
number.add(30);
number.add(10);
//ArrayList안에 데이터를 차례대로 저장
또는
number.add(1,10);
//ArrayList안에 인덱스1 위치에 데이터를 끼워서 저장(그 이후 값들은 뒤로 한 칸씩 밀려)
[ArrayList 사용방법 - 삭제(Remove)]
number.remove(2,10);
[ArrayList 사용방법 - 가져오기(Get)]
number.get(2);
[ArrayList 사용방법 - 크기 가져오기(Size)]
number.size();
[ArrayList 사용방법 - 반복(Iteration)]
Iterator it = number.iterator();
// it변수에 iterator 인터페이스 객체를 리턴함.
hasNext() --> 리턴값이 boolean. 해당 엘리먼트 다음 엘리먼트가 존재하는가를 판별
'서버 > Algorithm' 카테고리의 다른 글
[Algorithm] 분할정복법(Divide and Conquer algorithm) (0) | 2015.12.30 |
---|---|
[Sort] 선택 정렬(Selection Sort) (0) | 2015.12.30 |
[Sort] 버블 정렬(Bubble Sort) (0) | 2015.12.24 |
[Data Structure] 자료구조란 무엇인가? (0) | 2015.12.23 |