저는 String을 읽는 Hadoop Java에서이 작업을 수행합니다. 문자열은 토큰 화되어 배열에 넣어 진 거대한 문자열입니다. 키 - 값 쌍이 있지만 순서가 다릅니다. 나는이 명령을 엄격해서 테이블로로드 할 수 있기를 바랍니다. 그래서 SQL에서 열을 선택하면 (테이블에로드 한 후) 한 유형의 모든 키가 colA이어야합니다.정렬되지 않은 문자열을 순서가 지정된 문자열로 복사하는 효율적인 방법
문자열 배열의 각 단어를 확인하고 고정 된 위치에 새 문자열로 복사합니다. // 행
String[] newRow = new String[150];
for (int i = 0; i < row.length; ++i) {
if(row[i].equals("token1")){
newRow[0] = row[i]; //key
newRow[1] = row[i+1];//value
}
else if(row[i].equals("token2")){
newRow[2] = row[i];
newRow[3] = row[i+1];
}//...and so on. Elseif ladder at least is at least 100 long.
내가이 작업을 수행 할 수있는보다 효율적인 방법이 있는지 알고 싶어 토큰 화 된 순서가없는 문자열은 다음과 같은 다른 사다리가 만약 내가이 일을 생각하는 방법은 사용?
추신 : 문자열을 정렬하지 않습니다. 예 : row1 String은 {apple, good, banana, bad}, row2입니다. {banana, good, apple, bad} 여기서 사과와 바나나는 키입니다. 이제 제 산출물에서 첫 번째 열쇠와 바나나라고 불리는 두 개의 레코드를 갖게 될 것입니다. 결과는 다음과 같습니다 : newRow1 : {사과, 좋은, 바나나, 나쁜}, newRow2 : {사과, 나쁜, 바나나, 좋은}. 본질적으로 모든 입력을 고정 출력으로 재배치합니다.
그래서'String' 배열을 정렬하고 있습니까? – acdcjunior
이 질문에있는 언어가 부정확하고 많은 답변을 제공하는 데는 여러 가지 방법이 있습니다. – Gus
평면 배열에 키/값 쌍이 저장되는 이유는 무엇입니까? – roippi