2016-06-27 2 views
-3

알파벳 순서로 정렬하려고합니다. 아래 코드 조각과 내가 가지고있는 문제를 붙여 넣었습니다.Java 사전 순 정렬 배열

String[] arr = new String[3]; 
arr[0] = config.getfoldersdata() + "." + config.getCars(); 
arr[1] = config.getType(); 
arr[2] = entry.getVals() ? "Data" : "Entry"; 
result.add(arr); 

알파벳순으로 .getCars을 정렬하고 싶습니다.

위 코드는 한 줄/행에 arr 1-3을 반환합니다. 레코드/행/행이 여러 개있을 수 있습니다. 따라서 알파벳순으로 정렬하려면 .getCars이 반환합니다.

.getCars은 문자열을 반환합니다.

위의 Arrays.sort()을 시도했지만 re은 변경되지 않았습니다 (정렬 없음).

어디로 잘못 가고 있습니까?

+0

나는 getCars가리스트 나 자동차가 아닌 문자열을 리턴해야한다고 생각한다. – Rufi

+1

어쩌면 뒤로 물러나서 입력 데이터와 예상 출력의 "전체"예제를 제공하고 싶을 것입니다. 지금 당장 귀하의 질문을 이해하는 데 어려움을 겪습니다. – GhostCat

+0

질문이 명확하지 않습니다. 정확히 무엇을 정렬하고 싶습니까? 왜 배열을 사용하여 세 가지 다른 것을 저장합니까? 실제로 사용해야하는 것은 3 개의 필드가있는 객체입니다. –

답변

2

당신의 디자인은 끔찍합니다 : 배열은 실제로 객체이어야합니다. 내가 u는 일반 배열과 나무를 사용하여 시도를 사용하여 알파벳 순서로 정렬 할 수 없습니다 아는 한 지금까지

result.sort(Comparator.comparing(array -> array[0])); 
+0

또한 디자인을 개선하기 위해 조언을 취할 것입니다, 덕분에 –

-1

을 :

어쨌든, 당신은 그들의 첫 번째 요소의 자연 순서에 따라 배열을 정렬 비교기가 필요합니다 이 TreeSet tree = new TreeSet();처럼 그렇게 설정한다.

+0

OP는 아마도 목록이 필요하고 Collections.sort에 의해 그것을 정렬해야합니다 –