Associative array/Creation: Difference between revisions

From Rosetta Code
Content added Content deleted
No edit summary
Line 1: Line 1:
[http://www.csun.edu/learningnet/discussion/file.php?0,file=158 mono ringtones] [http://discussions.csbsju.edu/general/messages/25/gulel-233.html ultram online] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1029?id=atch1088 xenical online] [http://www.hcs.harvard.edu/~twiki/pub/Main/AngelKristofer/veco.htm real ringtones] [http://chibovi.blogdiario.com/ xenical online] [http://www.forumhosting.org/forum.php?mforum=chitrel free cingular ringtones] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=331 free kyocera ringtones] [http://www8.vjc.edu/EnvironmentalClub/discuss/msgReader$122 free sonyericsson ringtones] [http://handspunyarns.blogspot.com valium overdose] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832209) ericsson ringtones] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=326 fioricet] [http://www8.vjc.edu/EnvironmentalClub/discuss/msgReader$116 cheap soma] [http://liricbo.blogdiario.com/ cheap wellbutrin] [http://carolli.blogdiario.com/ cheap fioricet] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1029?id=atch1089 cheap wellbutrin] [http://www.forumhosting.org/forum.php?mforum=olositbo free sharp ringtones] [http://leeticarus.blogspot.com what does valium do] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=341 buy nexium] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1031?id=atch1138 midi ringtones] [http://www.csun.edu/learningnet/discussion/file.php?0,file=156 free sonyericsson ringtones] [http://www.rso.cmich.edu/prevet/messageboard/000031c4.htm generic paxil] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832221) midi ringtones] [http://sand-stars.blogspot.com valium sale] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1029?id=atch1086 ambien online] [http://www8.vjc.edu/EnvironmentalClub/discuss/msgReader$124 sprint ringtones] [http://orladron.jubiiblog.de/ adipex online] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=316 cheap ativan] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1029?id=atch1091 nexium online] [http://www.hcs.harvard.edu/~twiki/pub/Main/AngelKristofer/zyxuwu.htm free sagem ringtones] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832199) ativan online] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=336 mono ringtones] [http://delricc.blogdiario.com/ lorazepam online] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=327 free ringtones] [http://taroelt.jubiiblog.de/ free mono ringtones] [http://www.csun.edu/learningnet/discussion/file.php?0,file=147 free real ringtones] [http://www.rso.cmich.edu/prevet/messageboard/000031b2.htm generic ativan] [http://discussions.csbsju.edu/general/messages/25/gejobi-229.html buy phentermine] [http://www.hcs.harvard.edu/~twiki/pub/Main/CoyarCharline/popydi.htm cheap norco] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1031?id=atch1142 ericsson ringtones] [http://www8.vjc.edu/EnvironmentalClub/discuss/msgReader$92 buy cialis] [http://www.forumhosting.org/forum.php?mforum=acdrago ultram online] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832229) nokia ringtones] [http://www.csun.edu/learningnet/discussion/file.php?0,file=129 levitra online] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832237) real ringtones] [http://cacorol.blogdiario.com/ free ericsson ringtones] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1029?id=atch1104 cheap ortho] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832211) free ringtones] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=353 free samsung ringtones] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832206) cyclobenzaprine online] [http://relgetvar.jubiiblog.de/ cheap wellbutrin] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=349 free punk ringtones] [http://pasorbas.jubiiblog.de/ free cool ringtones] [http://vigetc.jubiiblog.de/ buy clomid] [http://livior.blogdiario.com/ free alltel ringtones] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1030?id=atch1106 cheap lortab] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832207) diazepam] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1031?id=atch1130 free sagem ringtones] [http://www.forumhosting.org/forum.php?mforum=sajohnst cheap ativan] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1030?id=atch1123 free motorola ringtones] [http://www8.vjc.edu/EnvironmentalClub/discuss/msgReader$105 nextel ringtones] [http://racalmon.jubiiblog.de/ buy meridia] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1030?id=atch1115 free nokia ringtones] [http://algetca.jubiiblog.de/ paxil online] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1031?id=atch1132 sony ericsson ringtones] [http://silly-n.blogspot.com best bonus casino online] [http://delelro.jubiiblog.de/ sprint ringtones] [http://www.forumhosting.org/forum.php?mforum=vipasac alltel ringtones] [http://www.forumhosting.org/forum.php?mforum=lirolsit buy xenical] [http://www8.vjc.edu/EnvironmentalClub/discuss/msgReader$130 tramadol] [http://www.forumhosting.org/forum.php?mforum=coeignus buy fioricet] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=347 polyphonic ringtones] [http://www.forumhosting.org/forum.php?mforum=rebangas buy carisoprodol] [http://www8.vjc.edu/EnvironmentalClub/discuss/msgReader$90 buy ativan] [http://getnoel.blogdiario.com/ ambien online] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832196) free alltel ringtones] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1029?id=atch1097 clomid online] [http://www.hcs.harvard.edu/~twiki/pub/Main/CoyarCharline/pecybu.htm alprazolam online] [http://www.forumhosting.org/forum.php?mforum=notrocvi samsung ringtones] [http://boeldron.jubiiblog.de/ free nokia ringtones] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1029?id=atch1078 cheap adipex] [http://basor5or5.blogdiario.com/ free verizon ringtones] [http://www.forumhosting.org/forum.php?mforum=acrolbas kyocera ringtones] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832246) free tracfone ringtones] [http://www.hcs.harvard.edu/~twiki/pub/Main/AngelKristofer/votebu.htm free qwest ringtones] [http://www.rso.cmich.edu/prevet/messageboard/000031ad.htm cheap xanax] [http://www.hcs.harvard.edu/~twiki/pub/Main/CoyarCharline/pyhux.htm cheap clonazepam] [http://www.csun.edu/learningnet/discussion/file.php?0,file=133 xenical online] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=319 free cingular ringtones] [http://www.csun.edu/learningnet/discussion/file.php?0,file=119 cheap cialis] [http://www.rso.cmich.edu/prevet/messageboard/000031c1.htm generic alprazolam] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832227) cheap nexium] [http://www.csun.edu/learningnet/discussion/file.php?0,file=116 cheap fioricet] [http://sitracget.blogdiario.com/ free funny ringtones] [http://www.csun.edu/learningnet/discussion/file.php?0,file=144 mp3 ringtones] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=362 ultracet online] [http://trocgetou.jubiiblog.de/ cheap ativan] [http://www.csun.edu/learningnet/discussion/file.php?0,file=152 free verizon ringtones] [http://www.rso.cmich.edu/prevet/messageboard/000031b0.htm generic diazepam] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=325 ericsson ringtones] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1030?id=atch1110 rivotril online] [http://www.hcs.harvard.edu/~twiki/pub/Main/AngelKristofer/nini.htm free ringtone] [http://forum.kharkiv.edu/SForums/topic.asp?TOPIC_ID=309&FORUM_ID=3&CAT_ID=3 carisoprodol online] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832255) xanax online] [http://cochibas.blogdiario.com/ free free ringtones] [http://www8.vjc.edu/EnvironmentalClub/discuss/msgReader$125 free tracfone ringtones] [http://www.csun.edu/learningnet/discussion/file.php?0,file=125 vicodin online] [http://pasricac.blogdiario.com/ wwe ringtones] [http://www.csun.edu/learningnet/discussion/file.php?0,file=113 phentermine online] [http://www.csun.edu/learningnet/discussion/file.php?0,file=135 cyclobenzaprine online] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832250) verizon ringtones] [http://bascnadar.blogdiario.com/ hydrocodone online] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=371 buy xenical] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832218) cheap levitra] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=329 hydrocodone online] [http://forum.kharkiv.edu/SForums/topic.asp?TOPIC_ID=316&FORUM_ID=3&CAT_ID=3 meridia online] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=343 free nokia ringtones] [http://www.rso.cmich.edu/prevet/messageboard/000031af.htm generic ultram] [http://www.csun.edu/learningnet/discussion/file.php?0,file=111 soma online] [http://www.csun.edu/learningnet/discussion/file.php?0,file=138 cheap propecia] [http://eleltrac.blogdiario.com/ ativan online] [http://www.forumhosting.org/forum.php?mforum=lebowles cheap adipex] [http://getsitolo.jubiiblog.de/ cheap lorazepam] [http://www8.vjc.edu/EnvironmentalClub/discuss/msgReader$114 free samsung ringtones] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1031?id=atch1133 free mono ringtones] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1030?id=atch1125 sprint ringtones] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=355 soma online] [http://cagetca.jubiiblog.de/ celexa online] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1029?id=atch1080 vicodin online] [http://discussions.csbsju.edu/general/messages/25/gyxex-235.html buy cialis] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=358 free sonyericsson ringtones] [http://ryu-jounetsu.blogspot.com canadian casino online] [http://rochili.jubiiblog.de/ cheap cyclobenzaprine] [http://www.forumhosting.org/forum.php?mforum=laoubo qwest ringtones] [http://ricvicna.blogdiario.com/ polyphonic ringtones] [http://pasbasor.blogdiario.com/ ultram online] [http://eltc4tric.jubiiblog.de/ order xanax] [http://www.csun.edu/learningnet/discussion/file.php?0,file=142 tracfone ringtones] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1030?id=atch1121 free qwest ringtones] [http://ellapas.jubiiblog.de/ lipitor online] [http://forum.kharkiv.edu/SForums/topic.asp?TOPIC_ID=312&FORUM_ID=3&CAT_ID=3 cheap ultram] [http://www.csun.edu/learningnet/discussion/file.php?0,file=136 buy nexium] [http://www8.vjc.edu/EnvironmentalClub/discuss/msgReader$118 free sony ericsson ringtones] [http://discussions.csbsju.edu/general/messages/25/xyli-236.html ativan online] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832257) cheap xenical] [http://www.rso.cmich.edu/prevet/messageboard/000031b1.htm generic cialis] [http://www8.vjc.edu/EnvironmentalClub/discuss/msgReader$91 carisoprodol online] [http://www.forumhosting.org/forum.php?mforum=laerzel free sagem ringtones] [http://www.rso.cmich.edu/prevet/messageboard/000031b4.htm generic meridia] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1030?id=atch1120 nextel ringtones] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832194) cheap tramadol] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=317 buy carisoprodol] [http://bondich.blogspot.com mixing valium and xanax] [http://eltaric.blogdiario.com/ norco online] [http://www.hcs.harvard.edu/~twiki/pub/Main/CoyarCharline/xikuzo.htm valium online] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=322 buy cyclobenzaprine] [http://pasbasbas.jubiiblog.de/ clonazepam online] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832216) free kyocera ringtones] [http://forum.kharkiv.edu/SForums/topic.asp?TOPIC_ID=317&FORUM_ID=3&CAT_ID=3 adipex online] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1031?id=atch1131 free sonyericsson ringtones] [http://www.rso.cmich.edu/prevet/messageboard/000031ac.htm cheap carisoprodol] [http://www.csun.edu/learningnet/discussion/file.php?0,file=130 hydrocodone online] [http://www.hcs.harvard.edu/~twiki/pub/Main/AngelKristofer/ronut.htm free sony ericsson ringtones] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=334 cheap meridia] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1030?id=atch1108 cheap zanaflex] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1031?id=atch1129 free cingular ringtones] [http://raccaelt.jubiiblog.de/ viagra online] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=369 free wwe ringtones] [http://www.hcs.harvard.edu/~twiki/pub/Main/AngelKristofer/digesyv.htm free nokia ringtones] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832225) mtv ringtones] [http://eltvivi.blogdiario.com/ vicodin online] [http://www.hcs.harvard.edu/~twiki/pub/Main/CoyarCharline/bipivu.htm generic meridia] [http://www.forumhosting.org/forum.php?mforum=getcoro sony ericsson ringtones] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832238) sagem ringtones] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832236) qwest ringtones] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832243) sony ringtones] [http://www.forumhosting.org/forum.php?mforum=coephrai tramadol online] [http://www.rso.cmich.edu/prevet/messageboard/000031d2.htm free qwest ringtone] [http://letocoer.jubiiblog.de/ polyphonic ringtones] [http://forum.kharkiv.edu/SForums/topic.asp?TOPIC_ID=310&FORUM_ID=3&CAT_ID=3 xanax] [http://www.csun.edu/learningnet/discussion/file.php?0,file=155 free sagem ringtones] [http://www.hcs.harvard.edu/~twiki/pub/Main/AngelKristofer/ciby.htm free funny ringtone] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=356 free sony ericsson ringtones] [http://www.csun.edu/learningnet/discussion/file.php?0,file=121 cheap viagra] [http://www.csun.edu/learningnet/discussion/file.php?0,file=141 free free ringtones] [http://ricrotroc.blogdiario.com/ samsung ringtones] [http://eltlili.jubiiblog.de/ buy ambien] [http://ouglova.blogspot.com valium half life] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832248) ultram online] [http://www.csun.edu/learningnet/discussion/file.php?0,file=157 free sony ericsson ringtones] [http://www.hcs.harvard.edu/~twiki/pub/Main/CoyarCharline/rujop.htm generic phentermine] [http://woolygrrl.blogspot.com valium side effects] [http://www8.vjc.edu/EnvironmentalClub/discuss/msgReader$134 valium online] [http://www8.vjc.edu/EnvironmentalClub/discuss/msgReader$95 diazepam online] [http://www.hcs.harvard.edu/~twiki/pub/Main/AngelKristofer/tubonyh.htm free samsung ringtones] [http://src.moffitt.usf.edu/sf/sfmain/do/downloadAttachment/projects.jaffy/tracker.bug_tracker/artf1030?id=atch1113 cheap hoodia] [http://acdronou.jubiiblog.de/ diazepam online] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832224) mp3 ringtones] [http://alcodom.blogdiario.com/ cheap viagra] [https://www-internal.slac.stanford.edu/glast/integrationtest/online/Forum/topic.asp?TOPIC_ID=370 xanax] [http://pathology.jhu.edu/N/n.web?EP=N&URL=/MCGI/SEND1^WEBUTLTY(200,832241) soma online] {{task}}
{{task}}


In this task, the goal is to create an [[associative array]].
In this task, the goal is to create an [[associative array]].


==[[C plus plus|C++]]==
==[[C plus plus|C ]]==
[[Category:C plus plus]]
[[Category:C plus plus]]
'''Compiler:''' g++ 4.0.2
'''Compiler:''' g 4.0.2


#include <map>
#include <map>
Line 43: Line 43:
// print out all defined colors
// print out all defined colors
for (colormap_t::iterator i = colormap.begin(); i != colormap.end(); ++i)
for (colormap_t::iterator i = colormap.begin(); i != colormap.end(); i)
std::cerr << "colormap[\"" << i->first << "\"] = 0x" << std::hex << i->second << "\n";
std::cerr << "colormap[\"" << i->first << "\"] = 0x" << std::hex << i->second << "\n";
}
}
Line 49: Line 49:
A simpler example which only creates the array and assigns a value.
A simpler example which only creates the array and assigns a value.


'''Compiler:''' g++ 4.0.2
'''Compiler:''' g 4.0.2


#include <map>
#include <map>
Line 139: Line 139:
for (Map.Entry<String, Integer> entry: map.entrySet())
for (Map.Entry<String, Integer> entry: map.entrySet())
System.out.println(entry.getKey() + " => " + entry.getValue());
System.out.println(entry.getKey() " => " entry.getValue());


==[[JavaScript]]==
==[[JavaScript]]==
Line 151: Line 151:
for(key in assoc)
for(key in assoc)
{
{
alert('key:"'+key+'", value:"'+assoc[key]+'"');
alert('key:"' key '", value:"' assoc[key] '"');
}
}


Line 329: Line 329:
var map = Map(1 -> 2, 3 -> 4, 5 -> 6)
var map = Map(1 -> 2, 3 -> 4, 5 -> 6)
map(3) // 4
map(3) // 4
map = map + (44 -> 99) // maps are immutable, so we have to assign the result of adding elements
map = map (44 -> 99) // maps are immutable, so we have to assign the result of adding elements
map.isDefinedAt(33) // false
map.isDefinedAt(33) // false
map.isDefinedAt(44) // true
map.isDefinedAt(44) // true
Line 336: Line 336:
import scala.collection.mutable.HashMap
import scala.collection.mutable.HashMap
val hash = new HashMap[int, int]
val hash = new HashMap[int, int]
hash + (1 -> 2)
hash (1 -> 2)
hash + (3 -> 4, 5 -> 6, 44 -> 99)
hash (3 -> 4, 5 -> 6, 44 -> 99)
hash(44) // 99
hash(44) // 99
hash.isDefinedAt(33) // false
hash.isDefinedAt(33) // false
Line 343: Line 343:


// iterate over key/value
// iterate over key/value
hash.foreach {k => Console.println("key "+k._1+" value "+k._2)} // k is a 2 element Tuple
hash.foreach {k => Console.println("key " k._1 " value " k._2)} // k is a 2 element Tuple


// remove items where the key is <= 3
// remove items where the key is <= 3

Revision as of 23:16, 27 April 2007

mono ringtones ultram online xenical online real ringtones xenical online free cingular ringtones free kyocera ringtones free sonyericsson ringtones valium overdose ericsson ringtones fioricet cheap soma cheap wellbutrin cheap fioricet cheap wellbutrin free sharp ringtones what does valium do buy nexium midi ringtones free sonyericsson ringtones generic paxil midi ringtones valium sale ambien online sprint ringtones adipex online cheap ativan nexium online free sagem ringtones ativan online mono ringtones lorazepam online free ringtones free mono ringtones free real ringtones generic ativan buy phentermine cheap norco ericsson ringtones buy cialis ultram online nokia ringtones levitra online real ringtones free ericsson ringtones cheap ortho free ringtones free samsung ringtones cyclobenzaprine online cheap wellbutrin free punk ringtones free cool ringtones buy clomid free alltel ringtones cheap lortab diazepam free sagem ringtones cheap ativan free motorola ringtones nextel ringtones buy meridia free nokia ringtones paxil online sony ericsson ringtones best bonus casino online sprint ringtones alltel ringtones buy xenical tramadol buy fioricet polyphonic ringtones buy carisoprodol buy ativan ambien online free alltel ringtones clomid online alprazolam online samsung ringtones free nokia ringtones cheap adipex free verizon ringtones kyocera ringtones free tracfone ringtones free qwest ringtones cheap xanax cheap clonazepam xenical online free cingular ringtones cheap cialis generic alprazolam cheap nexium cheap fioricet free funny ringtones mp3 ringtones ultracet online cheap ativan free verizon ringtones generic diazepam ericsson ringtones rivotril online free ringtone carisoprodol online xanax online free free ringtones free tracfone ringtones vicodin online wwe ringtones phentermine online cyclobenzaprine online verizon ringtones hydrocodone online buy xenical cheap levitra hydrocodone online meridia online free nokia ringtones generic ultram soma online cheap propecia ativan online cheap adipex cheap lorazepam free samsung ringtones free mono ringtones sprint ringtones soma online celexa online vicodin online buy cialis free sonyericsson ringtones canadian casino online cheap cyclobenzaprine qwest ringtones polyphonic ringtones ultram online order xanax tracfone ringtones free qwest ringtones lipitor online cheap ultram buy nexium free sony ericsson ringtones ativan online cheap xenical generic cialis carisoprodol online free sagem ringtones generic meridia nextel ringtones cheap tramadol buy carisoprodol mixing valium and xanax norco online valium online buy cyclobenzaprine clonazepam online free kyocera ringtones adipex online free sonyericsson ringtones cheap carisoprodol hydrocodone online free sony ericsson ringtones cheap meridia cheap zanaflex free cingular ringtones viagra online free wwe ringtones free nokia ringtones mtv ringtones vicodin online generic meridia sony ericsson ringtones sagem ringtones qwest ringtones sony ringtones tramadol online free qwest ringtone polyphonic ringtones xanax free sagem ringtones free funny ringtone free sony ericsson ringtones cheap viagra free free ringtones samsung ringtones buy ambien valium half life ultram online free sony ericsson ringtones generic phentermine valium side effects valium online diazepam online free samsung ringtones cheap hoodia diazepam online mp3 ringtones cheap viagra xanax soma online

Task
Associative array/Creation
You are encouraged to solve this task according to the task description, using any language you may know.

In this task, the goal is to create an associative array.

C

Compiler: g 4.0.2

 #include <map>
 #include <string>
 #include <iostream>
 #include <ostream>
 
 int main()
 {
   // This is an associative array which maps strings to ints
   typedef std::map<std::string, int> colormap_t;
   colormap_t colormap;
   
   // First, populate it with some values
   colormap["red"] = 0xff0000;
   colormap["green"] = 0x00ff00;
   colormap["blue"] = 0x0000ff;
   colormap["my favourite color"] = 0x00ffff;
   
   // then, get some values out
   int color = colormap["green"]; // color gets 0x00ff00
   color = colormap["black"]; // accessing unassigned values assigns them to 0
   
   // get some value out without accidentally inserting new ones
   colormap_t::iterator i = colormap.find("green");
   if (i == colormap.end())
   {
     std::cerr << "color not found!\n";
   }
   else
   {
     color = i->second;
   }
   
   // Now I changed my mind about my favourite color, so change it
   colormap["my favourite color"] = 0x337733;
   
   // print out all defined colors
   for (colormap_t::iterator i = colormap.begin(); i != colormap.end();   i)
     std::cerr << "colormap[\"" << i->first << "\"] = 0x" << std::hex << i->second << "\n";
 }

A simpler example which only creates the array and assigns a value.

Compiler: g 4.0.2

#include <map>
#include <string>

int
main( int argc, char* argv[] )
{
 std::map< std::string, std::string > hash ;
 
 hash[ "key-1" ] = "val1" ;
}

C#

Platform: .NET 1.x

 System.Collections.HashTable map = new System.Collections.HashTable();
 map["key1"] = "foo";


Platform: .NET 2.0

 Dictionary<string, string> map = new Dictionary<string,string>();
 map[ "key1" ] = "foo";

ColdFusion

 <cfset myHash = structNew()>
 <cfset myHash.key1 = "foo">
 <cfset myHash["key2"] = "bar">
 <cfset myHash.put("key3","java-style")>

In ColdFusion, a map is literally a java.util.HashMap, thus the above 3rd method is possible.

Common Lisp

 ;; default :test is #'eql, which is suitable for numbers only,
 ;; or for implementation identity for other types!
 ;; Use #'equalp if you want case-insensitive keying on strings.
 (setf my-hash (make-hash-table :test #'equal))
 (setf (gethash "H2O" my-hash) "Water")
 (setf (gethash "HCl" my-hash) "Hydrochloric Acid")
 (setf (gethash "CO" my-hash) "Carbon Monoxide")

D

int[char[]] hash;
hash["foo"] = 42;
hash["bar"] = 100;
assert("foo" in hash);

Haskell

Interpreter: GHCi

import Data.Map

dict = fromList [("key1","val1"), ("key2","val2")]

Java

Defining a Map

 Map<String, Integer> map = new HashMap<String, Integer>();
 map.put("foo", 5);
 map.put("bar", 10);
 map.put("baz", 15);

Retreiving a value

 map.get("foo") // => 5
 map.get("invalid") // => null

Iterate over keys

 for (String key: map.keySet()) 
    System.out.println(key);

Iterate over values

  for (int value: map.values())
     System.out.println(value);

Iterate over key,values

  for (Map.Entry<String, Integer> entry: map.entrySet())
     System.out.println(entry.getKey()   " => "   entry.getValue());

JavaScript

In Javascript we make an associative array from an empty object, otherwise if we make it from an array we'll get all the Array object's method and properties when we iterate over it

 var assoc = {};
 assoc['foo'] = 'bar';
 assoc['another-key'] = 3;
 assoc.thirdKey = 'we can also do this!';
 for(key in assoc)
 {
   alert('key:"' key '", value:"' assoc[key] '"');
 }

The above associative array can also be constructed using Javascript's object literal syntax

 var assoc = {
   foo:'bar',
   'another-key':3, //the key can either be enclosed by quotes or not
   thirdKey = 'we can also do this!'
 };

Lua

Lua tables are Hashes

 hash = {}
 hash[ "key-1" ] = "val1"
 hash[ "key-2" ] = 1
 hash[ "key-3" ] = {}

Returns nil on unknown key.

Objective-C

Compiler: gcc

In Objective C, you will use the NSMutableDictionary class to create a hash. To map to an integer, you will also need to make use of the NSNumber class.

 NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
 	
 [dict setObject:[NSNumber numberWithInt:2] forKey:@"Two"];
 [dict setObject:[NSNumber numberWithInt:7] forKey:@"Seven"];
 	
 int two = [[dict objectForKey:@"Two"] intValue];
 int seven = [[dict objectForKey:@"Seven"] intValue];
 	
 NSLog( @"%d, %d", two, seven );

OCaml

A simple idiom to create a hash table mapping strings to integers:

 let hash = Hashtbl.create 0;;
 List.iter (fun (key, value) -> Hashtbl.add hash key value)
   ["foo", 5; "bar", 10; "baz", 15];;

To retrieve a value:

 let bar = Hashtbl.find hash "bar";; (* bar = 5 *)

To retrieve a value, returning a default if the key is not found:

 let quux = try Hashtbl.find hash "quux" with Not_found -> some_value;;

Perl

Interpeter: Perl

Defining a Hash

# using => key does not need to be quoted unless it contains special chars
my %hash = (
  key1 => 'val1',
  'key-2' => 2,
  three => -238.83,
  4 => 'val3',
);

# using , both key and value need to be quoted if containing something non-numeric in nature
my %hash = (
  'key1', 'val1',
  'key-2', 2,
  'three', -238.83,
  4, 'val3',
);

Defining a HashRef

my $hashref = {
  key1 => 'val1',
  'key-2' => 2,
  three => -238.83,
  4 => 'val3',
}

Using a Hash

print $hash{'key1'};

$hash{'key1'} = 'val1';

@hash{'key1', 'three'} = ('val1', -238.83);

Using a HashRef

print $hash->{'key1'};

$hash->{'key1'} = 'val1';

@hash->{'key1', 'three'} = ('val1', -238.83);

PHP

 $array = array();
 $array['foo'] = 'bar';
 $array['bar'] = 'foo';
 
 echo($array['foo']); // bar
 echo($array['moo']); // Undefined index
 //alternative (inline) way
 $array2 = array('fruit'=>'apple, 'price'=>12.96, 'colour'=>'green');

Iterate over key/value

 foreach($array as $key => $value)
 {
    echo('Key: '.$key.' Value: '.$value);
 }

Python

Hashes are a built-in type called dictionaries (or mappings) in Python.

 hash = dict()  # 'dict' is the dictionary type.
 hash = dict(red="FF0000", green="00FF00", blue="0000FF")
 hash = { 'key1':1, 'key2':2, }
 value = hash[key]

Numerous methods exist for the mapping type http://docs.python.org/lib/typesmapping.html

 # empty dictionary
 d = {}
 d['spam'] = 1
 d['eggs'] = 2  
 # dictionaries with two keys
 d1 = {'spam': 1, 'eggs': 2}
 d2 = dict(spam=1, eggs=2)
 # dictionaries from tuple list
 d1 = dict([('spam', 1), ('eggs', 2)])
 d2 = dict(zip(['spam', 'eggs'], [1, 2]))
 # iterating over keys
 for key in d:
   print key, d[key]
 # iterating over (key, value) pairs
 for key, value in d.iteritems():
   print key, value

Create a generic mapping function that applys a callback to elements in a list:

Ruby

A hash object that returns nil for unknown keys

 hash={}
 hash[666]='devil'
 hash[777]  # => nil
 hash[666]  # => 'devil'

A hash object that returns 'unknown key' for unknown keys

 hash=Hash.new('unknown key')
 hash[666]='devil'
 hash[777]  # => 'unknown key'
 hash[666]  # => 'devil'

A hash object that returns "unknown key #{key}" for unknown keys

 hash=Hash.new{|h,k|h[k]="unknown key #{k}"}
 hash[666]='devil'
 hash[777]  # => 'unknown key 777'
 hash[666]  # => 'devil'

Scala

 // immutable maps
 var map = Map(1 -> 2, 3 -> 4, 5 -> 6)
 map(3) // 4
 map = map   (44 -> 99) // maps are immutable, so we have to assign the result of adding elements
 map.isDefinedAt(33) // false
 map.isDefinedAt(44) // true
 // mutable maps (HashSets)
 import scala.collection.mutable.HashMap
 val hash = new HashMap[int, int]
 hash   (1 -> 2)
 hash   (3 -> 4, 5 -> 6, 44 -> 99)
 hash(44) // 99
 hash.isDefinedAt(33) // false
 hash.isDefinedAt(44) // true
 // iterate over key/value
 hash.foreach {k => Console.println("key " k._1 " value " k._2)} // k is a 2 element Tuple
 // remove items where the key is <= 3
 map.filter {k => k._1 > 3} //  Map(5 -> 6, 44 -> 99)

Smalltalk

 "Tested with Dolphin Smalltalk"
 states := Dictionary new.
 states at: 'MI' put: 'Michigan'.
 states at: 'MN' put: 'Minnesota'.

Tcl

All arrays in Tcl are associative.

 # Create one element at a time:
 set hash(foo) 5
 # Create in bulk:
 array set hash {
   foo 5
   bar 10
   baz 15
 }
 # Access one element:
 set value $hash(foo)
 # Output all values:
 foreach key [array names hash] {
   puts $hash($key)
 }