> Java > java지도 시간 > Java에서 특정 열을 기준으로 2D 문자열 배열을 정렬하는 방법은 무엇입니까?

Java에서 특정 열을 기준으로 2D 문자열 배열을 정렬하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-04 01:33:03
원래의
372명이 탐색했습니다.

How to Sort a 2D String Array by a Specific Column in Java?

특정 열을 기준으로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿