.NET 3.5 sisältää uuden kokoelmaluokan System.Collections.Generic-nimiavaruudessa: HashSet<T>. Tämä kokoelmaluokka sisältää järjestämättömän listan ainutlaatuisista esineistä. Tätä joukkoa kutsutaan "joukoksi". Set on varattu sana, joten luokalla on toinen nimi, HashSet<T>. Nimi on helppo ymmärtää, koska tämä kokoelma perustuu hajautusarvoihin, ja elementtien lisääminen on hyvin nopeaa eikä vaadi <T>kokoelman uudelleenjärjestelyä kuten List-luokka. Valmistelemme kolme kokoelmaa, ja listan 1 esineitä ei käsitellä. list2:n objektit ohittavat joitakin metodeja, ja lista 3:ssa on merkkijonotyyppejä
Koodi on seuraava:
1. Jos hajautuskoodin arvo ei ole sama, se tarkoittaa, että kyseessä on uusi elementti, tallennus;
2,Jos hajautuskoodiarvo on sama ja eksualit arvioidaan yhtä suuriksi, se tarkoittaa, että alkio on jo olemassa eikä ole olemassa;
3. Jos hajautuskoodin arvo on sama ja equles-arvio ei ole sama, se tarkoittaa, että alkiota ei ole olemassa ja se on olemassa;
Käytämme Test2-oliota, joka ohittaa objektin yhtä- ja hajautuskoodimetodit. Tässä Test2-objektia pidetään samana instanssina niin kauan kuin id ja a ovat samoja, ja tietenkin se voi olla jotain muuta, se riippuu erityisvaatimuksista
|