Notice
Recent Posts
Recent Comments
Link
투케이2K
334. (java/자바) [유틸 파일] : getSubList : List 배열 부분 데이터 반환 수행 본문
[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Java
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [RETURN] getSubList : List 배열 부분 데이터 반환 수행
// -----------------------------------------------------------------------------------------
public static ArrayList getSubList(ArrayList list, int start, int end){
/**
* // -----------------------------------------
* [getSubList 메소드 설명]
* // -----------------------------------------
* 1. List 배열 부분 데이터 반환 수행
* // -----------------------------------------
* 2. 호출 방식 :
*
* ArrayList list = new ArrayList();
* list.add(0); // [0]
* list.add(1); // [1]
* list.add(2); // [2]
* list.add(3); // [3]
* list.add(4); // [4]
* list.add(5); // [5]
*
* C_Util.getSubList(list, 1, 3); // [1부터 3까지 반환]
*
* // -----------------------------------------
* 3. 리턴 데이터 :
*
* [1, 2, 3]
* // -----------------------------------------
* */
// [리턴 변수 선언]
ArrayList returnData = null;
String M_LOG = "";
// [로직 처리 실시]
try {
if (list != null && list.size()>0 && list.isEmpty() == false){
if (start < 0 || end < 0){ // [음수 값 체크]
M_LOG = "[ERROR] : Range Check Error (start or end < 0)";
}
else {
M_LOG = "SUCCESS : ArrayList Sub Data";
if (end >= start){ // [end >= start 크기 비교]
returnData = new ArrayList();
if (end >= (list.size()-1)){ // [end >= list size 크기 비교 / 배열 사이즈 보다 거나 같은 경우]
for (int i=0; i<list.size(); i++){
try {
if (i >= start){
returnData.add(list.get(i));
}
}
catch (Exception e){}
}
}
else { // [배열 사이즈 보다 작은 경우]
for (int i=0; i<list.size(); i++){
try {
if (i >= start && i <= end){
returnData.add(list.get(i));
}
}
catch (Exception e){}
}
}
}
else {
M_LOG = "[ERROR] : Range Check Error (end >= start / false)";
}
}
}
else {
M_LOG = "[ERROR] : Input List Is Null";
}
}
catch (Exception e){
e.printStackTrace();
M_LOG = "[EXCEPTION] : " + String.valueOf(e.getMessage());
}
// [로그 출력 실시]
//*
// ===============================================================
S_Log._D_("List 배열 부분 데이터 반환 수행", new String[]{
"INPUT [LIST] :: " + String.valueOf(list),
"INPUT [RANGE] :: " + String.valueOf(start) + " ~ " + String.valueOf(end),
"M_LOG :: " + String.valueOf(M_LOG),
"RETURN :: " + String.valueOf(returnData)
});
// ===============================================================
// */
// [리턴 반환 실시]
return returnData;
}
[결과 출력]
D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.C_Util.getSubList(C_Util.java:5742)]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: List 배열 부분 데이터 반환 수행]
I/: ----------------------------------------------------
I/: [LOG :: INPUT [LIST] :: [0, 1, 2, 3, 4, 5]]
I/: ----------------------------------------------------
I/: [LOG :: INPUT [RANGE] :: 1 ~ 3]
I/: ----------------------------------------------------
I/: [LOG :: M_LOG :: SUCCESS : ArrayList Sub Data]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: [1, 2, 3]]
D///===========//: ================================================
반응형
'Java' 카테고리의 다른 글
Comments