특정 열을 기준으로 2D 문자열 배열 정렬
Java에서는 두 개의 열에 저장된 데이터를 구성해야 하는 상황이 발생할 수 있습니다. -차원(2D) 배열. 이 정렬을 효과적으로 수행하려면 사용자 정의 비교기와 함께 Arrays.sort() 메소드를 활용할 수 있습니다.
다음 예를 고려하십시오. 첫 번째 열은 타임스탬프를 나타내고 두 번째 열은 문자열의 2D 배열이 있습니다. 열에 메시지가 포함되어 있습니다. 우리의 목표는 타임스탬프를 기준으로 배열을 오름차순으로 정렬하는 것입니다.
이를 달성하기 위해 Comparator 인터페이스를 구현하는 클래스를 정의할 수 있습니다. 이 클래스는 배열의 요소를 비교하는 논리를 제공합니다.
<code class="java">class TimestampComparator implements Comparator<String[]> { @Override public int compare(String[] entry1, String[] entry2) { return entry1[0].compareTo(entry2[0]); } }</code>
이 비교기에서는 배열의 각 항목에서 타임스탬프 값을 추출하고 String.compareTo() 메서드를 사용하여 비교합니다.
비교기가 준비되었으므로 이제 정렬을 진행할 수 있습니다.
<code class="java">Arrays.sort(data, new TimestampComparator());</code>
여기서 데이터는 원래 2D 배열을 나타냅니다.
정렬 후 데이터는 다음과 같습니다. 첫 번째 열의 타임스탬프를 기준으로 구성됩니다. 결과 출력은 다음과 같습니다.
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
위 내용은 Java에서 특정 열을 기준으로 2D 문자열 배열을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!