כמו בטיפים הקודמים, לפעמים אנחנו רוצים לשמור מידע, כך שהוא תמיד יהיה ממוין.
במידה ואנחנו מעוניינים לשמור איברים בסדר ממוין כל שכל איבר יופיע בדיוק פעם אחת.
דרך אחת אפשרית לעשות זאת היא להשתמש בSortedDictionary (או בSortedList) בצורה מעוותת – כלומר להשתמש רק בKey שלהם, ולשים בValue, למשל bool.
אלא שדרך זו מעוותת ולא בדיוק נכונה.
בדומה לטיפ מספר 19, בו פגשנו HashSet
בפועל, המבנה ממומש באמצעות עץ אדום-שחור, כמו SortedDictionary, אלא שהפעם אנחנו שומרים רק את הKeys.
קיים גם פה overload לConstructor המאפשר לנו להגדיר את הIComparer
HashSet
בנוסף, קיימים שני Properties מיוחדים שיש רק לSortedSet
|
|
המאפשרים לנו למצוא את המינימום ומקסימום בצורה פשוטה.
קיימות גם עוד שתי פונקציות ייחודיות לSortedSet<T> והן:
|
|
הראשונה מאפשרת לנו למצוא את כל האיברים בתחום מסוים.
השנייה מאפשרת לנו להפוך את הסדר של האיברים בSortedSet<T> בצורה פשוטה.
סופ"ש ממוין! (ולא חסר ערך)