Saturday, April 23, 2011 1:00 AM
dede
Index Dictionary
Q:
Bagaimana cara kita mengambil value dari Dictionary dengan index-nya?
A:
Dictionary sendiri tidak memiliki index, tapi kita bisa meng-index-kan KeyCollection-nya.
// C#
var dictOfCountrys =
new Dictionary
{
{"Jakarta", "Indonesia"},
{"Tokyo", "Japan"},
{"London", "England"},
{"Sidney", "Australia"},
{"Roma", "Italy"}
};
var keyIndexNo2 = dictOfCountrys.Keys.ElementAtOrDefault(2);
var keyIndexLast = dictOfCountrys.Keys.ElementAtOrDefault(dictOfCountrys.Count - 1);
var valueIndexNo2 = dictOfCountrys[keyIndexNo2];
var valueIndexLast = dictOfCountrys[keyIndexLast];
Console.WriteLine("index: 2, key: {0}, value: {1}", keyIndexNo2, valueIndexNo2);
Console.WriteLine("index: {0}, key: {1}, value: {2}", dictOfCountrys.Count - 1, keyIndexLast, valueIndexLast);
Console.WriteLine("-------------------------------------------");
for (var i = 0; i < dictOfCountrys.Count; i++)
{
var key = dictOfCountrys.Keys.ElementAtOrDefault(i);
Console.WriteLine("index: {0}, key: {1}, value: {2}", i, key, dictOfCountrys[key]);
}
Console.Read();
' VB.Net
Dim dictOfCountrys = New Dictionary(Of String, String)
dictOfCountrys.Add("Jakarta", "Indonesia")
dictOfCountrys.Add("Tokyo", "Japan")
dictOfCountrys.Add("London", "England")
dictOfCountrys.Add("Sidney", "Australia")
dictOfCountrys.Add("Roma", "Italy")
Dim keyIndexNo2 = dictOfCountrys.Keys.ElementAtOrDefault(2)
Dim keyIndexLast = dictOfCountrys.Keys.ElementAtOrDefault(dictOfCountrys.Count - 1)
Dim valueIndexNo2 = dictOfCountrys(keyIndexNo2)
Dim valueIndexLast = dictOfCountrys(keyIndexLast)
Console.WriteLine("index: 2, key: {0}, value: {1}", keyIndexNo2, valueIndexNo2)
Console.WriteLine("index: {0}, key: {1}, value: {2}", dictOfCountrys.Count - 1, keyIndexLast, valueIndexLast)
Console.WriteLine("-------------------------------------------")
For i As Int32 = 0 To dictOfCountrys.Count - 1 Step 1
Dim key = dictOfCountrys.Keys.ElementAtOrDefault(i)
Console.WriteLine("index: {0}, key: {1}, value: {2}", i, key, dictOfCountrys(key))
Next
Console.Read()
// F#
open System
open System.Collections.Generic
open System.Linq
let dictOfCountrys = new Dictionary()
dictOfCountrys.Add("Jakarta", "Indonesia")
dictOfCountrys.Add("Tokyo", "Japan")
dictOfCountrys.Add("London", "England")
dictOfCountrys.Add("Sidney", "Australia")
dictOfCountrys.Add("Roma", "Italy");;
let keyIndexNo2 = dictOfCountrys.Keys.ElementAtOrDefault(2)
let keyIndexLast = dictOfCountrys.Keys.ElementAtOrDefault(dictOfCountrys.Count - 1)
let valueIndexNo2 = dictOfCountrys.Item(keyIndexNo2)
let valueIndexLast = dictOfCountrys.Item(keyIndexLast)
printfn "index: 2, key: %s, value: %s" keyIndexNo2 valueIndexNo2
printfn "index: %i, key: %s, value: %s" (dictOfCountrys.Count - 1) keyIndexLast valueIndexLast
printfn "-------------------------------------------"
for i = 0 to (dictOfCountrys.Count - 1) do
let key = dictOfCountrys.Keys.ElementAtOrDefault(i)
printfn "index: %i, key: %s, value: %s" i key (dictOfCountrys.Item(key))
Console.ReadLine() |> ignore
# IronPython
import clr
clr.AddReference('System.Core')
from System import *
from System.Collections import *
from System.Collections.Generic import *
import System
clr.ImportExtensions(System.Linq)
dict = { 'Jakarta':'Indonesia', 'Tokyo':'Japan', 'London':'England', 'Sidney':'Australia', 'Roma':'Italy' }
dictOfCountrys = Dictionary[String, String](dict)
keyIndexNo2 = dictOfCountrys.Keys.ElementAtOrDefault(2)
keyIndexLast = dictOfCountrys.Keys.ElementAtOrDefault(dictOfCountrys.Count - 1)
valueIndexNo2 = dictOfCountrys[keyIndexNo2]
valueIndexLast = dictOfCountrys[keyIndexLast]
print 'index: 2, key: {0}, value: {1}'.format(keyIndexNo2, valueIndexNo2)
print 'index: {0}, key: {1}, value: {2}'.format(dictOfCountrys.Count - 1, keyIndexLast, valueIndexLast)
print '---------------------------------'
for i in range(dictOfCountrys.Count):
key = dictOfCountrys.Keys.ElementAtOrDefault(i)
print 'index: {0}, key: {1}, value: {2}'.format(i, key, dictOfCountrys[key])
Filed under: .NET, mono, f#, c#, vb, Python