D Language
Associative Arrays
Sök…
Standardanvändning
int[string] wordCount(string[] wordList) {
int[string] words;
foreach (word; wordList) {
words[word]++;
}
return words;
}
void main() {
int[string] count = wordCount(["hello", "world", "I", "say", "hello"]);
foreach (key; count.keys) {
writefln("%s: %s", key, count[key]);
}
// hello: 2
// world: 1
// I: 1
// say: 1
// note: the order in the foreach is unspecified
}
litteraler
int[string] aa0 = ["x": 5, "y": 6]; //int values, string keys
auto aa1 = ["x": 5.0, "y": 6.0]; // double values, string keys
string[int] aa2 = [10: "A", 11: "B"]; //string values, int keys
Lägg till nyckelvärdespar
int[string] aa = ["x": 5, "y": 6];
// The value can be set by its key:
aa["x"] = 7;
assert(aa["x"] == 7);
// if the key does not exist will be added
aa["z"] = 8;
assert(aa["z"] == 8);
Ta bort nyckelvärdespar
Låt oss anta en associerande grupp aa
:
int[string] aa = ["x": 5, "y": 6];
Objekt kan tas bort med .remove()
, om nyckelutgångar kommer att tas bort och remove
returnerar true
:
assert(aa.remove("x"));
om den angivna nyckeln inte finns tar remove
ingenting och returnerar false
:
assert(!aa.remove("z"));
Kontrollera om det finns en nyckel
int[string] numbers = ["a" : 10, "b" : 20];
assert("a" in numbers);
assert("b" in numbers);
assert("c" in numbers);
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow