본문 바로가기
ぺ Let's do it ぺ/⒈유니티(Unity3d)

[별아재군/unity2d] Sort() 기능없이 문자열(string) List 행 정렬하기..

by 망고부인 2021. 10. 6.
728x90

[별아재군/unity2d] Sort() 기능없이 문자열(string) List 행 정렬하기..

 

앞전에 포스팅한 글의 연장선이라고 생각하세요..

[별아재군/unity2d] string 문자열로 저장된 List<Exam>형 클래스 Sort 정렬하기.. (tistory.com)

 

[별아재군/unity2d] string 문자열로 저장된 List형 클래스 Sort 정렬하기..

[별아재군/unity2d] string 문자열로 저장된 List 형 클래스 Sort 정렬하기.. List의 직렬화 및 Json 저장 때문에 클래스 멤버를 모두 string형으로 구성을 했더니.. List형 exam.Sort() 기능을 제대로 사용하지..

mangolover.tistory.com

근데 지난번에는 멤버값에 행순서 번호를 부여하는 방식이었다면...

이번에는 element[ ]의 위치를 변경하는 방법 입니다..

 

기존에 List형에서 Sort() 기능을 사용한다면 아래와 같겠죠..

하지만, 이런식으로 하면 앞전의 경우와 같이..

1, 5, 9, 31, 71 행렬이... 1, 31, 5, 71, 9 순으로 정리가 될 겁니다..

 

자~ 그럼. 문자열(string)로 저장된 리스트(List형)를

어떻게 하면 이쁘게 정렬할 수 있느냐하면..

아래와 같이 일단 TempHeroList라고 임시, 잠시 저장할 리스트를 선언하고..

먼저, 공격력 순으로 정렬할 클래스를 작성합니다..

그냥 봐도 대충 이해가 될 겁니다..

A가 자기보다 큰 B가 올때면 A.order++

 

그러면.. 0, 1, 1, 3, 4, 4, 6 이런식으로 순번이 정해지겠죠..

이것을 순서대로 임시, 잠깐 TempHeroList에 Add를 써서 차곡차곡 쌓아넣구요..

모두 쌓인 자료를 그대로 다시 HyHeroList에 대입을 하면 끝!!

이쁘게 element[0] ~ [6]까지 Attack 순으로 정렬이 됩니다..

이번에는 경험치 Level 순으로

이번에는 출생의 비밀 별등급 순으로

그리고 나서 아래와 같이 작성해 주면..

문자열(string형)으로 저장된 리스트(List)형의 행렬이 이쁘게 정렬이 됩니다..

자~ 오늘은 여기까지 할게요..

.

.

728x90

댓글