является то говоря, положить значение в игральные карты (костюм, стоимость)
Нет, это добавление записи на карту. Концепция «Хэш» и «Сортировка списка» - это «Карты». Карта - математическая концепция. Это набор пар ключ-значение. После заполнения вы «даете» коллекции ключ, и он даст вам значение, соответствующее ему. Вы также можете запросить коллекцию для всех ее ключей или всех ее пар ключ-значение.
Хотя в этом коде есть много вещей, которые мне не нравятся, я постараюсь не уклоняться от моих улучшений.
В HashTable есть ключ костюма и значение SortedList. Учитывая то, как заполняются списки, если вы дадите столу костюм, он предоставит вам коллекцию всех карточек этого костюма.
Сортированные списки заполнены таким образом, что они являются значением карты, а значение представляет собой определенную карту. Существует специальный класс PlayingCard, который содержит информацию о карте, которую вы нам не показали. (Это определение довольно очевидно, поэтому нет необходимости его видеть.)
Итак, сегмент кода здесь предназначен для заполнения хеш-таблицы, содержащей каждую карту. Это было бы попросить его для костюма, а затем спросить полученную коллекцию за значение, и в результате вам будет предоставлена игровая карта с этим конкретным костюмом/стоимостью. Таким образом, вы можете спросить HashTable для Hearts, а затем спросить полученную коллекцию на семь, и вам будет предоставлена PlayingCard, которая представляет семь сердец.
Поскольку в hashTable все линейные
Ни HashTable, ни SortedList являются 'линейной'. Хотя реализация каждого класса довольно интересна (и сейчас оффтопическая), лучше всего думать о них как о совершенно неупорядоченной. (Да, даже SortedList.) Идея этих структур заключается в том, что они будут хранить данные, однако они хотят, чтобы оптимизировать несколько операций. Эти операции добавляют элементы к карте, удаляют элементы с карты и получают значение, соответствующее определенному ключу. Каждый из них использует два разных алгоритма для достижения этого. HashTable хранит хэш ключа в массиве. (Это действительно здорово и действительно эффективно, но также выходит за рамки этой статьи, чтобы объяснить.). SortedList хранит все ключи в порядке. Поскольку они в порядке, вы можете использовать алгоритм Binary Search для поиска определенного ключа, который намного быстрее, чем просмотр каждого отдельного ключа, пока вы не найдете правильный.
У вас есть два поля, называемых 'cardPack' (один из них -' Hashtable', а второй - 2-мерный массив 'PlayingCard'). Это не скомпилируется - правильно ли вы скопировали код? – Justin