> 백엔드 개발 > C++ > 본문

해시테이블 요소를 정렬된 배열로 얻는 방법은 무엇입니까?

WBOY
풀어 주다: 2023-08-26 22:53:21
앞으로
1080명이 탐색했습니다.

해시테이블 요소를 정렬된 배열로 얻는 방법은 무엇입니까?

해시 테이블은 키의 해시 코드에 따라 배열된 키-값 쌍의 비범용 모음입니다. 해시 테이블은 해시 테이블을 사용하여 저장되는 컬렉션을 만드는 데 사용됩니다. 해시 테이블은 각 키의 해시 코드를 계산하고 이를 내부 바구니에 저장하여 조회를 최적화합니다. 해시 테이블의 특정 값에 액세스하면 해시 코드가 지정된 키와 일치합니다.

이 해시 테이블 컬렉션은 C#의 System.Collections 네임스페이스에 정의되어 있습니다. 해시 테이블 모음을 나타내는 클래스는 "Hashtable" 클래스입니다. 이 클래스는 해시 테이블 컬렉션에서 작동하는 생성자, 메서드 및 속성을 제공합니다. 기본적으로 해시 테이블 컬렉션은 정렬되지 않습니다. 정렬된 해시 테이블 컬렉션을 원한다면 이를 Array 또는 ArrayList로 표현하고 요소를 정렬해야 합니다.

이 글에서는 정렬된 배열 형식으로 해시 테이블 요소를 가져오는 방법을 알아봅니다. 그럼 시작해 보겠습니다.

해시 테이블 요소를 정렬된 배열로 가져오기

기본적으로 해시 테이블 컬렉션은 정렬되지 않은 상태라는 것을 알고 있습니다. 해시 테이블 컬렉션을 정렬하는 것은 키를 기반으로 해시 테이블 컬렉션을 생성한 다음 각 키에 값을 추가하기 때문에 매우 어려울 수 있습니다.

해시 테이블 컬렉션을 정렬하려면 키나 값을 기준으로 정렬해야 합니다. Hashtable 클래스에는 해시 테이블 모음을 정렬하는 직접적인 메서드가 없습니다. 그러므로 우리는 다른 방법으로 전환해야 합니다.

한 가지 방법은 해시테이블 요소(키 또는 값)를 정렬된 배열로 가져오는 것입니다. 이를 위해 아래 나열된 단계를 따르겠습니다.

  • 해시 테이블 개체 만들기

  • 이 객체를 키-값 쌍으로 채웁니다

  • 문자열 유형의 배열을 만듭니다. 길이는 해시 테이블의 길이입니다.

  • 키를 기반으로 해시 테이블을 반복하고 각 키로 배열을 채웁니다.

  • 생성된 배열 정렬

예제

이 메소드는 C#을 사용하여 아래와 같이 작성했습니다.

으아아아

이 프로그램에서는 Hashtable 객체 langCodes를 정의하고 이를 채웁니다. 키-값 쌍을 사용합니다. 그런 다음 해시 테이블의 길이를 검색하고 다음을 사용합니다. 이 길이의 배열 "sortedArray"를 선언하십시오. 다음으로 우리는 횡단합니다 langCodes 해시 테이블을 만들고 정렬된 배열 객체를 키로 채웁니다. langCodes 해시 테이블 값입니다.

그런 다음 필터 Array.Sort(sortedArray)를 사용하여 배열을 정렬하고 인쇄합니다. 이 정렬된 배열입니다.

Output

프로그램의 출력은 다음과 같습니다.

으아아아

출력에서 해시 테이블 키 요소가 정렬된 요소 배열로 검색되는 것을 볼 수 있습니다.

이제 또 다른 예를 들어보겠습니다. 위에서 설명한 것과 동일한 방법을 사용합니다. 유일한 차이점은 이 예에서는 해시 테이블의 키 대신 값으로 배열을 채운다는 것입니다.

전체 C# 프로그램을 살펴보겠습니다.

으아아아

프로그램에는 numberNames라는 해시 테이블 개체가 있습니다. 숫자와 해당 숫자 이름으로 채웁니다. 해시 테이블을 탐색하여 정렬된 배열을 값으로 채웁니다. 그런 다음 Array.Sort() 필터를 사용하여 배열을 정렬하고 정렬된 배열을 인쇄합니다.

Output

프로그램의 출력은 아래와 같습니다.

으아아아

출력에서 배열의 내용(해시 테이블의 값)이 실제로 알파벳순으로 정렬되어 있음을 확인할 수 있습니다. 해시 테이블의 출력과 정렬된 배열을 쉽게 비교할 수 있습니다. 해시 테이블에서는 출력이 정렬되지 않습니다. 키-값 쌍은 무작위로 표시됩니다. 배열에 있는 경우 출력이 정렬됩니다.

해시 테이블 요소를 정렬하는 것은 어렵지만 해시 테이블 요소를 배열로 표현하면 가능합니다. 하지만 키와 값을 동시에 정렬하는 것은 불가능합니다. 배열의 모든 키 또는 배열의 모든 값을 검색할 수 있습니다. 그런 다음 Array.Sort() 필터를 사용하여 배열을 정렬할 수 있습니다. 해시 테이블을 배열이나 배열 목록으로 변환하여 처리할 수도 있습니다.

위 내용은 해시테이블 요소를 정렬된 배열로 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!