Belajar Swift : Cara Menggunakan Dictionary di Swift - Masnaato
Skip to content Skip to sidebar Skip to footer

Belajar Swift : Cara Menggunakan Dictionary di Swift

Cara Menggunakan Dictionary di Swift



Kamus Swift 4 digunakan untuk menyimpan daftar nilai tak berurutan dari tipe yang sama. Swift 4 menempatkan pemeriksaan ketat yang tidak memungkinkan Anda memasukkan jenis yang salah dalam kamus bahkan karena kesalahan.

Kamus Swift 4 menggunakan pengenal unik yang dikenal sebagai kunci untuk menyimpan nilai yang nantinya dapat direferensikan dan dicari melalui kunci yang sama. Tidak seperti item dalam larik, item dalam kamus tidak memiliki urutan yang ditentukan. Anda dapat menggunakan kamus saat Anda perlu mencari nilai berdasarkan pengenalnya.

Kunci kamus dapat berupa bilangan bulat atau string tanpa batasan, tetapi harus unik dalam kamus.

Jika Anda menetapkan kamus yang dibuat ke variabel, maka itu selalu bisa berubah yang berarti Anda dapat mengubahnya dengan menambahkan, menghapus, atau mengubah itemnya. Tetapi jika Anda menetapkan kamus ke konstanta, kamus itu tidak dapat diubah, dan ukuran serta isinya tidak dapat diubah.

Membuat Kamus

Anda dapat membuat kamus kosong dari jenis tertentu menggunakan sintaks penginisialisasi berikut -

var someDict = [KeyType: ValueType]()

Anda dapat menggunakan sintaks sederhana berikut untuk membuat kamus kosong yang kuncinya adalah tipe Int dan nilai terkait adalah string -

var someDict = [Int: String]()

Berikut adalah contoh untuk membuat kamus dari sekumpulan nilai yang diberikan -

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

Inisialisasi Berbasis Urutan

Swift 4 memungkinkan Anda membuat Kamus dari array (Key-Value Pairs.)

var cities = [“Delhi”,”Bangalore”,”Hyderabad”]

Anda dapat menggunakan sintaks sederhana berikut untuk membuat kamus kosong yang kuncinya adalah tipe Int dan nilai terkait adalah string -

var Distance = [2000,10, 620]

Berikut adalah contoh untuk membuat kamus dari sekumpulan nilai yang diberikan -

let cityDistanceDict = Dictionary(uniqueKeysWithValues: zip(cities, Distance))

Baris kode di atas akan membuat kamus dengan Kota sebagai kunci dan Jarak sebagai Nilai -

Penyaringan

Swift 4 memungkinkan Anda untuk memfilter nilai dari kamus.

var closeCities = cityDistanceDict.filter { $0.value < 1000 }

Jika kita menjalankan kode di atas, kamus closeCities kita akan menjadi.

["Bangalore" : 10 , "Hyderabad" : 620]

Pengelompokan Kamus

Swift 4 memungkinkan Anda membuat pengelompokan nilai Kamus.

var cities = ["Delhi","Bangalore","Hyderabad","Dehradun","Bihar"]

Anda dapat menggunakan sintaks sederhana berikut untuk mengelompokkan nilai kamus menurut alfabet pertama.

var GroupedCities = Dictionary(grouping: cities ) { $0.first! }

Hasil dari kode di atas adalah

["D" :["Delhi","Dehradun"], "B" : ["Bengaluru","Bihar"], "H" : ["Hyderabad"]]

Mengakses Kamus

Anda dapat mengambil nilai dari kamus dengan menggunakan sintaks subskrip, meneruskan kunci dari nilai yang ingin Anda ambil dalam tanda kurung siku segera setelah nama kamus sebagai berikut -

var someVar = someDict[key]

Mari kita periksa contoh berikut untuk membuat, menginisialisasi, dan mengakses nilai dari kamus -

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
var someVar = someDict[1]

print( "Value of key = 1 is \(someVar)" )
print( "Value of key = 2 is \(someDict[2])" )
print( "Value of key = 3 is \(someDict[3])" )

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -

Value of key = 1 is Optional("One")
Value of key = 2 is Optional("Two")
Value of key = 3 is Optional("Three")

Memodifikasi Kamus

Anda dapat menggunakan metode updateValue (forKey :) untuk menambahkan nilai yang ada ke kunci kamus tertentu. Metode ini mengembalikan nilai opsional dari tipe nilai kamus. Berikut adalah contoh sederhana -

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
var oldVal = someDict.updateValue("New value of one", forKey: 1)
var someVar = someDict[1]

print( "Old value of key = 1 is \(oldVal)" )
print( "Value of key = 1 is \(someVar)" )
print( "Value of key = 2 is \(someDict[2])" )
print( "Value of key = 3 is \(someDict[3])" )

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -

Old value of key = 1 is Optional("One")
Value of key = 1 is Optional("New value of one")
Value of key = 2 is Optional("Two")
Value of key = 3 is Optional("Three")

Anda dapat mengubah elemen kamus yang ada dengan menetapkan nilai baru pada kunci tertentu seperti yang ditunjukkan pada contoh berikut -

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
var oldVal = someDict[1]
someDict[1] = "New value of one"
var someVar = someDict[1]

print( "Old value of key = 1 is \(oldVal)" )
print( "Value of key = 1 is \(someVar)" )
print( "Value of key = 2 is \(someDict[2])" )
print( "Value of key = 3 is \(someDict[3])" )

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -

Old value of key = 1 is Optional("One")
Value of key = 1 is Optional("New value of one")
Value of key = 2 is Optional("Two")
Value of key = 3 is Optional("Three")

Hapus Pasangan Nilai-Kunci

Anda bisa menggunakan metode removeValueForKey () untuk menghapus pasangan nilai kunci dari kamus. Metode ini menghapus pasangan kunci-nilai jika ada dan mengembalikan nilai yang dihapus, atau mengembalikan nihil jika tidak ada nilai. Berikut adalah contoh sederhana -

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
var removedValue = someDict.removeValue(forKey: 2)

print( "Value of key = 1 is \(someDict[1])" )
print( "Value of key = 2 is \(someDict[2])" )
print( "Value of key = 3 is \(someDict[3])" )

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -

Value of key = 1 is Optional("One")
Value of key = 2 is nil
Value of key = 3 is Optional("Three")

Anda juga dapat menggunakan sintaks subskrip untuk menghapus pasangan nilai kunci dari kamus dengan menetapkan nilai nil untuk kunci tersebut. Berikut adalah contoh sederhana -

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

someDict[2] = nil

print( "Value of key = 1 is \(someDict[1])" )
print( "Value of key = 2 is \(someDict[2])" )
print( "Value of key = 3 is \(someDict[3])" )

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -

Value of key = 1 is Optional("One")
Value of key = 2 is nil
Value of key = 3 is Optional("Three")

Mengulangi Kamus

Anda dapat menggunakan for-in loop untuk mengulang seluruh kumpulan key-value pair dalam Dictionary seperti yang ditunjukkan pada contoh berikut -

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

for (index, keyValue) in someDict.enumerated() {
   print("Dictionary key \(index) - Dictionary value \(keyValue)")
}

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -

Dictionary key 2 - Dictionary value Two
Dictionary key 3 - Dictionary value Three
Dictionary key 1 - Dictionary value One

Anda dapat menggunakan fungsi enumerate () yang mengembalikan indeks item bersama dengan pasangan (key, value) -nya seperti yang ditunjukkan di bawah ini dalam contoh -

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
for (key, value) in someDict.enumerated() {
   print("Dictionary key \(key) - Dictionary value \(value)")
}

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -

Dictionary key 0 - Dictionary value (key: 2, value: "Two")
Dictionary key 1 - Dictionary value (key: 3, value: "Three")
Dictionary key 2 - Dictionary value (key: 1, value: "One")

Ubah ke Array

Anda dapat mengekstrak daftar pasangan kunci-nilai dari kamus tertentu untuk membuat array terpisah untuk kunci dan nilai. Berikut ini contohnya -

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

let dictKeys = [Int](someDict.keys)
let dictValues = [String](someDict.values)

print("Print Dictionary Keys")

for (key) in dictKeys {
   print("\(key)")
}
print("Print Dictionary Values")

for (value) in dictValues {
   print("\(value)")
}

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -

Print Dictionary Keys
2
3
1
Print Dictionary Values
Two
Three
One

Hitung Properti

Anda dapat menggunakan properti hitung hanya baca dari kamus untuk mengetahui jumlah item dalam kamus seperti yang ditunjukkan di bawah ini -

var someDict1:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
var someDict2:[Int:String] = [4:"Four", 5:"Five"]

print("Total items in someDict1 = \(someDict1.count)")
print("Total items in someDict2 = \(someDict2.count)")

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -

Total items in someDict1 = 3
Total items in someDict2 = 2

Properti kosong

Anda dapat menggunakan properti kosong hanya baca dari kamus untuk mengetahui apakah kamus kosong atau tidak, seperti yang ditunjukkan di bawah ini -

var someDict1:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
var someDict2:[Int:String] = [4:"Four", 5:"Five"]
var someDict3:[Int:String] = [Int:String]()

print("someDict1 = \(someDict1.isEmpty)")
print("someDict2 = \(someDict2.isEmpty)")
print("someDict3 = \(someDict3.isEmpty)")

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -

someDict1 = false
someDict2 = false
someDict3 = true

Post a Comment for "Belajar Swift : Cara Menggunakan Dictionary di Swift"