본문 바로가기
안드로이드

ArrayList 응용

by 코딩히어로 2022. 3. 24.
728x90

ArrayList를 사용할 때 좋은 점은 객체를 넣을 수 있다는 것입니다.

이게 무엇이냐면 예를 들어 기존에는 ArrayList <Integer> 와같이 <> 요소의 형태를 Integer 등의

타입을 넣었다면 여기서 한발 더 나아가서 객체 자체를 넣을 수 있습니다.

 

말로 푸는 것보다는 코드를 직접 보면서 설명하는 게 좋을 것 같습니다.

먼저 데이터들을 묶어줄 클래스를 하나 생성합니다.

 

public class Test_Data{
	private int test_int;
	private String test_str;
	private boolean test_bool;
    
    public Test_Data(int test_int, String test_str, boolean test_bool){
    	this.test_int = test_int;
        this.test_str = test_str;
        this.test_bool = test_bool;
    }
}

 

해당 클래스는 int형, String형, boolean형 3가지를 포함합니다.

이제 이 클래스 객체를 ArrayList에 담아보도록 하겠습니다.

 

ArrayList<Test_Data> TestArray = new ArrayList<Test_Data>();

 

해당 객체를 ArrayList에 담았을 때 ArrayList 추가하는 방법은 다음과 같습니다.

 

TestArray.add(new Test_Data(0,"test",true);

 

ArrayList에 객체를 넣어서 생성을 해야 하기 때문에 생성자에 들어가는 인자 값을 써넣어 주어 생성합니다.

삭제 및 중간에 set을 통해 변경하는 방법은 기존 ArrayList 사용방법과 동일합니다.

 

만약에 클래스에 있는 인자 값을 읽어야 하는 경우 클래스에 다음 함수들을 작성합니다.

 

public class Test_Data{
	private int test_int;
	private String test_str;
	private boolean test_bool;
    
    public Test_Data(int test_int, String test_str, boolean test_bool){
    	this.test_int = test_int;
        this.test_str = test_str;
        this.test_bool = test_bool;
    }
    
    public void SetInt(int test_int){
    	this.test_int = test_int;
    }
    public int GetInt(){
    	return test_int;
    }
    
    public void SetString(String test_str){
    	this.test_str = test_str;
    }
    public String GetString(){
    	return test_str;
    }
    
    public void SetBoolean(boolean test_bool){
    	this.test_bool = test_bool;
    }
    public boolean GetBoolean(){
    	return test_bool;
    }
}

 

위의 함수들을 통해 ArrayList 요소 내의 클래스 객체의 값을 가져올 수 있습니다.

ArrayList 클래스 객체 값을 가져오는 구문은 다음과 같이 구현합니다.

 

int test_data = TestArray.get(0).GetInt();
String test_string = TestArray.get(0).GetString();
boolean test_boolean = TestArray.get(0).GetBoolean();

 

배열과는 다르게 ArrayList는 객체를 요소로 담을 수 있기 때문에

객체 내에 서로 다른 데이터를 그룹으로 묶어서 편리하게 사용할 수 있습니다.

 

2022.03.24 - [안드로이드] - 배열보다 편한 ArrayList

 

배열보다 편한 ArrayList

안드로이드 자바를 사용하여 개발하다 보면 ArrayList라는 것을 만나게 됩니다. 처음에 개념을 익히기 전까지는 아무래도 C언어를 먼저 접해서 확장한 개발자다 보니 배열을 많이 사용하였지만 이

codinghero.tistory.com

 

728x90
반응형

댓글