Swift by example dictionaries

import Foundation
var emptyDictionary = Dictionary<String, Float>()
Shorthand sugar for the same thing.
var anotherEmptyDict = [String:Float]()
Type inference allows you to initialize without declaring types:
var strings = [
    "a": "A",
    "b": "B",

# Accessing and assigning elements

print(strings["a"])                           // A
strings["a"] = "AZ"                             // Returns an optional string (new value that was assigned)
strings.updateValue("AX", forKey: "a")          // Returns an optional string (old value that was overwritten)

Optionals are returned for accessing keys.
if let a = strings["a"] {
    print(a)                                  // AX

# Removing

Setting the value to nil also removes the key.
strings["a"] = nil
Using removeValueForKey removes the key-val pair
but returns the value that was removed (or nil if
the key-val didn't exist)

# Updating

strings.updateValue("A", forKey: "a")
strings["a"] = "A"

# Iterating

for (key, val) in strings {
    print("\(key): \(val)")

for key in strings.keys {
    print("KEY: \(key)")

for val in strings.values {
    print("VAL: \(val)")                      // VAL: A VAL: B

# Getting all keys & values

let keys = Array(strings.keys)
let vals = Array(strings.values)

# Clearing everything

strings = [:]

print(strings.count)                         // 0