문제를 풀다보니 키벨류값을 쌍으로 정렬해주는 메서드 하나정도 있음 좋겠다 싶었다.
그래서 하나 만들어보았는데 물론 훗날의 내가 조금 더 나은 방법을 찾을때가 되면 더 업데이트 해주겠지.
일단 부르트포스로 하나 짰는데 급할땐 이걸 쓰고 더 좋은 방법이 있으면 다시 포스트 해주길 바란다.
/-------------------------------------------------------------------------/
import java.util.*;
public class Main {
public static void main(String[] args) {
/* 이중배열로 키와 벨류값을 저장한뒤에 키값으로 정렬했을시 벨류가 키값과 같이 가는 메소드를 만들어본다.
*/
String [][] arraySet = {
{"3","three"}
,{"7","seven"}
,{"2","two" }
,{"7","seven"}
,{"9","nine" }
,{"5","five" }
};
Main func = new Main();
String [][] afterSort = func.keyValSorting(arraySet);
for (int i = 0; i < afterSort.length; i++) {
for (int j = 0; j < afterSort[i].length; j++) {
System.out.print(afterSort[i][j]);
}
System.out.println();
}
}
String [][] keyValSorting( String [][] arraySet){
int arrayLength = arraySet.length;
int temp = 0;
int [] sortedKey = new int [arrayLength];
String [][] sortedArray = new String [arrayLength][];
for (int i = 0; i < arrayLength; i++) {
sortedKey[i] = Integer.parseInt(arraySet[i][0]);
}
Arrays.sort(sortedKey);
while(true) {
for (int i = 0; i < arrayLength ; i++) {
if((""+sortedKey[temp]).equals(arraySet[i][0])){
sortedArray[temp] = arraySet[i];
temp++;
break;
}
}
if(temp == arrayLength) break;
}
System.out.println("method complete");
return sortedArray;
}
}//Main(class)
'Program > JAVA' 카테고리의 다른 글
폴더 삭제 : 삭제.(FileUtils.cleanDirectory()와 File.delete()) (0) | 2019.12.23 |
---|---|
2중배열 정렬 (0) | 2018.12.09 |
split()에 관하여 (0) | 2018.11.12 |
배열 복사 : clone()과 arraycopy()의 차이 (0) | 2018.09.03 |
hasNextLine()에 관하여 (0) | 2017.07.07 |