Avatar billede stephanryer Nybegynder
01. september 2006 - 10:09 Der er 10 kommentarer og
1 løsning

Mængde datatype i .NET?

I Java findes Set som er interfacet for en mængde. Den er implementeret ved bl.a. HashSet, der gør, at det tager O(1) tid at søge efter et element.

Hvad hedder denne form for collection i .NET?
Avatar billede capn Nybegynder
01. september 2006 - 10:30 #1
Collection klassen har forskellige implementeringer. Bla. HashTable som svarer ret godt til HashSet i Java. Bemærk at man ikke kan gøre Collections typestærke i .Net (på en lige så let måde som i Java 1.5).
Avatar billede stephanryer Nybegynder
01. september 2006 - 10:37 #2
Hashtable i .NET svarer til Hashmap i Java. IKKE HashSet.

Hashtable i .NET og Hashmap i Java benytter sig begge af par af Keys og Values.

HashSet er blot en mængde af data hvor samme object ikke kan optræde to gange.
Avatar billede capn Nybegynder
01. september 2006 - 10:52 #3
Dohh. Der rodede jeg rundt i det! Sorry. Stephanryer har ret.
Avatar billede stephanryer Nybegynder
01. september 2006 - 13:19 #4
Det lader slet ikke til at det er implementeret, siden codeproject.com har udviklet sådanne klasser. Lukker spørgsmålet.
Avatar billede stephanryer Nybegynder
01. september 2006 - 13:21 #5
Og til capn's udtalelser om at man ike kan gøre Collections "typesikre" hvilket jeg tolker som at de ikke kan benyttes Generic "på en lige så let måde som i Java 1.5" skyldes det, at Java's generics er implementeret via. et compiler hack og Type-informationerne ikke eksisterer i runtime. Dette gør at man i Java kan bruge de samme klasser generisk. I .NET har man blot lavet andre klasser der understøtter generics men det er altsammen en helt anden historie :)
Avatar billede nielle Nybegynder
01. september 2006 - 13:26 #6
Er List<> ikke et rimeligt godt bud?
Avatar billede stephanryer Nybegynder
01. september 2006 - 13:28 #7
List<> er den generiske version af ArrayList jo men det er jo ikke generics den her tråd handler om. Den handler om Javas Set.
Avatar billede nielle Nybegynder
01. september 2006 - 14:06 #8
Jeg troede ellers det handlede om hvad der var det der svarede til Java's Set i .Net. Jeg mener umiddelbart at List<> er den som kommer tættest.
Avatar billede arne_v Ekspert
02. september 2006 - 00:34 #9
Jeg vil faktisk mene at Hashtable eller Dictionary<> med value altid null er
det tætteste på Java Set.
Avatar billede stephanryer Nybegynder
03. september 2006 - 18:34 #10
nielle: List og Set er to vidt forskellige ting.
arne_v: ok, synes stadig det er mærkeligt at Set ikke er implementeret.
Avatar billede arne_v Ekspert
04. september 2006 - 02:22 #11
Generelt er MS mere praktisk orienteret end Java.

Jeg har lige søgt i 1103 java filer:

ArrayList 230 forekomster
Vector 113 forekomster
HashMap 87 forekomster
Hashtable 3 forekomster
HashSet 20 forekomster
TreeSet 0 forekomster

Set er simpelthen ikke så meget brugt som List.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester