본문 바로가기
JAVA

ep 04-1. 배열과 ArrayList

by L_SU 2022. 11. 27.

배열이란?

동일한 성격의 데이터를 관리하기 쉽도록 하나로 묶는 것이다.

 

예를 들어 우리가 int형 변수를 20개 선언한다고 해보자

이를 우리가 하나하나 변수를 선언하게 되면 어디에 어떤 값이 있는지 헷갈리기도 하고,

관리하기도 힘들고, 코드도 너무 길어질 것이다.

이를 해결하기 위해 배열이라는 것을 이용해 20개의 값을 하나의 배열에 저장해 꺼내 쓰는 것이다.

 

선언하기

1.자료형 [] 배열이름 = new 자료형[개수];

ex) int[] A = new int[10];

2.자료형 배열이름[] = new 자료형[개수];

ex) int A[] = new int[10];

사용하기

[] : 인덱스 or 첨자 연산자

- 배열의 위치를 지정해 자료를 가져옴

- 0부터 시작함

👉 n개의 배열 : 0~n-1 위치까지 자료 존재

 

 

public class Main
{
	public static void main(String[] args) {
		int nlist[] = new int[]{1,2,3}; // 배열 선언 및 값 매개, 값을 매개 하지 않고
        					// 배열만 생성한 경우, 요소는 null로 초기화 됨
		
		for(int i=0;i<nlist.length;i++){ //반복문, 배열.length 로 배열의 길이값을 가져옴
		    System.out.println(nlist[i]);
		}
	}
}

// 결과
// 1
// 2
// 3

 

 

package array;

public class s{
    
    private String title;
    private String content;
    
    public s() {}
    public s(String title, String content){
        this.title = title;
        this.content = content;
    }
    
    public String getTitle(){
        return title;
    }
    public String getContent(){
        return content;
    }
    public void setTitle(String title){
        this.title = title;
    }
    public void setContent(String content){
        this.content = content;
    }
    
    public void showslistInfo(){
        System.out.println(title+": "+content);
    }
    
	public static void main(String[] args) {
		s[] slist = new s[3];
		
		slist[0] = new s("나는", "문어");
		slist[1] = new s("꿈을", "꾸는");
		slist[2] = new s("문어", "끝!");
		for(int i=0;i<slist.length;i++){
		    slist[i].showslistInfo();
		}
		for(int i=0;i<slist.length;i++){
		    System.out.println(slist[i]);
		}
	}
}

// 결과
// 나는: 문어
// 꿈을: 꾸는
// 문어: 끝!

 

for 문 응용

public class Main
{
	public static void main(String[] args) {
	    String[] cat = {"mimi", "koko"};
	    for(String baby : cat){ //변수로 바로 배열을 받을 수 있음
	        System.out.println(baby);
	    }

		}
}

// 결과
// mimi
// koko

 

다차원 배열

- 2차원 이상의 배열

- 지도, 게임 등 평면 or 공간 구현에 많이 사용

 

2차원 배열 선언

자료형[][] 배열이름 = new int[행 개수][열 개수];

ex) int[][] nlist = new int[3][3];

 

public class Main
{
	public static void main(String[] args) {
	    int[][] nlist = {{1,2}, {3,4}};
	    for(int i = 0; i<nlist.length; i++){
	        for(int j = 0; j<nlist[i].length; j++){
	        System.out.print(nlist[i][j]);
	        
	    }
	    System.out.println();
}
		}
}

// 결과
// 12
// 34

 

 

ArrayList

- 가장 많이 사용하는 객체 배열 클래스

- 객체 배열을 보다 편리하게 관리 가능

 

선언하기

ArrayList<객체> 배열 이름 = new ArrayList<객체>();

ex) ArrayList<Cat> animal = new ArrayList<Cat>();

 

추가하기

배열이름.add();

ex) animal.add(new Cat("rei"));

 

가져오기

배열이름.get();

ex)

for(int i = 0; i < animal.size(); i++){
	Cat cat = animal.get(i);
}

'JAVA' 카테고리의 다른 글

ep 04-3. 문제풀이3  (0) 2022.11.27
ep 04-2. 상속과 다형성  (0) 2022.11.27
ep 03-4. 문제 풀이2  (0) 2022.11.20
ep 03-3. 클래스와 객체2  (0) 2022.11.20
ep 03-2. 클래스와 객체1  (0) 2022.11.20