특정 열을 기준으로 2차원 배열을 정렬하는 작업은 Java에서 독특한 과제를 제시합니다. 이를 달성하기 위해 다음 솔루션은 문제의 세부 사항을 조사하고 포괄적인 코드 구현을 제공합니다.
제공된 입력은 첫 번째 열이 "yyyy." 형식의 날짜를 나타내는 2차원 배열로 구성됩니다. MM.dd HH:mm"이고 두 번째 열에는 문자열이 포함되어 있습니다. 목표는 이 배열을 첫 번째 열을 기준으로 정렬하여 날짜가 시간순으로 정렬되도록 하는 것입니다.
제공된 Java 코드는 내장 Arrays.sort() 메소드를 사용합니다. 원하는 정렬을 달성하기 위해 비교기와 결합합니다. 비교기는 특히 첫 번째 열(날짜)에 초점을 맞춰 배열 요소를 비교하는 규칙을 정의합니다. 코드는 날짜의 상대적 연대순을 나타내는 정수 값을 반환하는 CompareTo() 메서드를 사용하여 날짜를 비교합니다.
<code class="java">import java.util.Arrays; import java.util.Comparator; public class TwoDArraySort { public static void main(final String[] args) { final String[][] data = new String[][] { new String[] { "2009.07.25 20:24", "Message A" }, new String[] { "2009.07.25 20:17", "Message G" }, new String[] { "2009.07.25 20:25", "Message B" }, new String[] { "2009.07.25 20:30", "Message D" }, new String[] { "2009.07.25 20:01", "Message F" }, new String[] { "2009.07.25 21:08", "Message E" }, new String[] { "2009.07.25 19:54", "Message R" } }; Arrays.sort(data, new Comparator<String[]>() { @Override public int compare(final String[] entry1, final String[] entry2) { final String time1 = entry1[0]; final String time2 = entry2[0]; return time1.compareTo(time2); } }); for (final String[] s : data) { System.out.println(s[0] + " " + s[1]); } } }</code>
제공된 코드의 출력은 다음과 같습니다. 다음은 다음과 같습니다.
2009.07.25 19:54 Message R 2009.07.25 20:01 Message F 2009.07.25 20:17 Message G 2009.07.25 20:24 Message A 2009.07.25 20:25 Message B 2009.07.25 20:30 Message D 2009.07.25 21:08 Message E
이 출력은 2차원 배열이 첫 번째 열을 기준으로 성공적으로 정렬되어 날짜가 시간순으로 정렬되었음을 보여줍니다.
위 내용은 Java에서 특정 열을 기준으로 2차원 배열을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!