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