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
728x90
반응형
'안드로이드' 카테고리의 다른 글
ActivityNotFoundException 에러 해결 (6) | 2022.04.06 |
---|---|
안드로이드 버튼 길게 터치 이벤트 (6) | 2022.04.01 |
배열보다 편한 ArrayList (2) | 2022.03.24 |
Hex String to byte 변환 (8) | 2022.03.22 |
안드로이드 스튜디오 느릴 땐 메모리 설정 (22) | 2022.03.04 |
댓글