Видео: Разлика между речник и Hashtable
2024 Автор: Mildred Bawerman | [email protected]. Последно модифициран: 2023-12-16 08:37
Речник срещу Hashtable
Речникът се въвежда (sо valuetypes не се нуждаят от boxing), Hashtable не е (so valuetypes се нуждаят от bxx). Hashtable има по-добър начин за получаване на стойност от речника IMHО, защото винаги знае, че стойността е обект. Въпреки че, ако използвате. NET 3.5, лесно е да напишете разширен метод за речник, за да получите подобно поведение.
Класът Hashtable е специфичен тип речник клас, който използва целочислена стойност (наречена хеш) за помощ в съхранението на ключовете си. Класът Hashtable използва хеш, за да ускори търсенето за определен ключ в колекцията. Всеки обект в. NET произлиза от класът Обект. Този клас поддържа метода GetHash, който връща цяло число, което уникално идентифицира обекта. Класът Hashtable е много ефективен колектив като цяло. Единственият проблем с класа на Hashtable е, че той изисква малко над главата, а за малки колекции (по-малко от десет елемента) горната част може да попречи на представянето.
Има още една важна разлика между HashTable и речника. Ако използвате индексатори, за да получите стойност от HashTable, HashTable успешно ще върне нула за несъществуващ елемент, докато Речникът ще изведе грешка, ако опитате да осъществите достъп до елемент с помощта на индексатор, който не съществува в речника.
HashTable е базовият клас, който е слабо въведен; абстрактният клас DictionaryBase се въвежда само и използва вътрешно HashTable.
Странно нещо, забелязано за речника, е, че когато добавяме множеството записи в речника, редът, в който се добавят записите, се поддържа. По този начин, ако приложите информация за речника, ще получите записите в същия ред, в който сте ги вмъкнали. Докато това не е вярно с нормалната HashTable, когато добавяте същите записи в Hashtable, поръчката не се поддържа. Ако „Речникът се основава на Hashtable“е вярно, защо Речникът поддържа реда, но HashTable няма?
Тъй като защо се държат по различен начин, това е така, защото Generic Dictionary изпълнява хеш-таблица, но не се основава на System. Cоllections. Hashtable. Реализацията на Generic Dictionary се базира на всички разположени двойки ключ-стойност от списък. След това те се индексират с хешируемите кофи за случайния достъп, но когато върне изброяване, той просто разхожда списъка в последователен ред - който ще бъде поръчката на вмъкването, тъй като записите не се използват повторно.
Препоръчано:
Разлика между ЕМП и потенциална разлика
EMF срещу потенциална разлика (електромоторна сила) се използват за описване на два различни параметъра между две точки. Терминът „потенциална разлика“е ге
Разлика между Hashtable и Hashmap
Hashtable срещу Hashmap Hashtable и hashmaps са структурите на данни, които се използват в наши дни за повечето уеб-базирани приложения и много други приложения
Разлика между енциклопедия и речник
Енциклопедия срещу речник Енциклопедия и речник са две думи, които често се бъркат, когато става въпрос за тяхното използване и значения. Енциклопедията е
Разлика между ключовата разлика между металните и неметалните минерали
Ключова разлика - метални срещу неметални минерали Минералът е естествено срещаща се твърда и неорганична съставка с определена химическа формула и
Разлика между речник и речник
Речник срещу тезаурус Въпреки че и речникът, и тезаурусът се използват за изучаване на значенията на думите в даден език, има разлика между d