‫Tekrar hoş geldiniz.
‫Son videoda hash tablolarını inceledik ve şimdi sizin için küçük bir meydan okumam var.
‫Bu yüzden lütfen devam edin ve burada sahip olduğumuz bu dizinin öğrencilerinin her bir öğesini yineleyecek bir program
‫yazın.
‫Öğrenciler dizisi ve bunları bir karma tabloya yerleştirin.
‫Hash tablosunda aynı ID'ye sahip bir öğrenci zaten mevcutsa, bu öğrenci atlanır ve aşağıdaki hata görüntülenir.
‫Üzgünüz, aynı kimliğe sahip bir öğrenci zaten mevcut.
‫Ve sonra sizin için küçük bir ipucu olarak, aynı ID'ye sahip bir öğrencinin zaten var olup olmadığını kontrol etmek için contains
‫key yöntemini kullanın.
‫Baktığımız program, son videoda sahip olduğumuz aynı sınıf öğrencisine,
‫bir kimliğe, GPA adına ve buradaki öğrencilere sahip olacak.
‫Ve sonra bu var.
‫Öğrenci dizisi.
‫Yani beş giriş var ve Louise'in Dennis ile aynı kimliğe sahip olduğunu görebilirsiniz, bu yüzden bu işe yaramayacaktır.
‫Ancak bu, mücadelenin başlangıç noktası olacak.
‫Bu yüzden lütfen devam edin ve videoyu gönderin ve zorluğu çözmeye çalışın.
‫Tamam.
‫Umarım denemişsinizdir.
‫Temel olarak, ihtiyacımız olan şey elbette bir hash tablosu olacaktır.
‫Öncelikle hash tablomuzu şu şekilde tanımlayalım.
‫Bunun işe yaraması için elbette projemizde sistem koleksiyonlarını kullandığımızdan emin
‫olmamız gerekiyor.
‫Artık bu ad alanını uyguladığımıza göre, projemizde hash tablolarını kullanabiliriz ve şimdi öğrenciler
‫dizimizden geçecek ve kimliğin zaten mevcut olmaması durumunda bu dizinin her bir öğesini hash tablomuza ekleyecek bir for
‫each döngüsüne ihtiyacımız olacak.
‫Bu nedenle, bunu kontrol edecek her döngü için kullanacağız.
‫Böylece, öğrenci listesinin içindeki her öğrenciden geçecektir, yani tabiri caizse öğrenci dizisinin
‫içinde.
‫Ardından, baktığımız tablonun zaten belirli bir anahtar içerip içermediğini kontrol edecektir, yani nokta
‫kimliği olarak anahtar içerir.
‫Bu da bunu kontrol edecek.
‫Temel olarak elimizdeki tablo bu.
‫Bunun zaten bir anahtarı vardır çünkü hash tablosu için burada her zaman bir anahtar değeri vardır.
‫Yani bu, anahtarın zaten var olup olmadığını kontrol eder.
‫Örneğin, bir anahtarını girin ve zaten mevcut değilse, bu kodu çalıştıracaktır.
‫Ama eğer öyleyse.
‫Var, o zaman kodu çalıştırmayacaktır.
‫Bu yüzden buradaki kodu atlayacaktır.
‫Böylece else bloğuna gidebilir ve "Hey, bu zaten var" şeklinde bir uyarı görüntüleyebiliriz.
‫Şimdi buraya bu ID'nin zaten var olduğunu söyleyen küçük bir konsol ifadesi yazalım ve sadece ID'nin kendisini
‫ve buradaki ID'yi görüntüleyelim.
‫Peki şimdi burada tablo listemize nasıl bir öğe ekleyebiliriz?
‫Yani tabiri caizse karma tablomuza mı?
‫Peki, devam edip tablo nokta reklamı diyebiliriz ve sonra ne ekleyeceğiz?
‫Peki, öğrenciyi ekliyoruz ama nereye ekliyoruz?
‫Peki, nokta kimliği olarak ekliyoruz ve kendisi olarak ekliyoruz.
‫Ve tabii ki bu öğrenciyi baktığımız belirli kimlikle eklediğimizi de söyleyebiliriz.
‫Tamam.
‫Ve temelde bu kadar olacak.
‫İşte zorluğun çözümü bu.
‫Temel olarak bu for each döngüsü, bir ID'nin zaten var olup olmadığını kontrol eder, eğer varsa, o zaman buraya gider.
‫Eğer yoksa, o zaman buraya gider çünkü burada bu ünlem işareti ile tabiri caizse yok
‫diyoruz.
‫Yani anahtar içermediğini söylüyoruz.
‫Yani anahtarı içermiyorsa ekleyin.
‫Eğer anahtarı içeriyorsa, bu ifadeyi yazın.
‫Özür dilerim.
‫Aynı kimliğe sahip bir öğrenci zaten mevcut.
‫Tamam.
‫Şimdi bu kodu çalıştıralım ve bunun gerçekten işe yarayıp yaramadığını kontrol edelim ve ID bir olan öğrencinin eklendiğini, ID iki
‫olan öğrencinin eklendiğini, ID altı olan öğrencinin eklendiğini ve sonra üzgünüm, aynı ID'ye sahip bir öğrencinin
‫zaten var olduğunu ve bunun ID bir olduğunu görebiliriz.
‫Ve bu iyi olacak, benim kimliğim vardı ya da Dennis'in bir fikri vardı ve o da bir fikir olduğunu söyledi.
‫Çok özür dilerim, lütfen, kimliğinizi aldım.
‫Şimdi elbette ona farklı bir kimlik atayacak bir kod yazabiliriz.
‫Bu, şimdi kendiniz için deneyebileceğiniz bir şey.
‫Dolayısıyla, bu kimliğin zaten mevcut olması durumunda, bu öğrenciye farklı bir kimlik atayın ve ardından for each döngüsünün bir sonraki
‫yinelemesine gidin.
‫Tamam.
‫Umarım bu zorluğu benim çözümümün yardımı olmadan kendiniz çözebilirsiniz.
‫Elbette çözüme ulaşmanın farklı yolları vardır.
‫Bu, yöntemlerden sadece biri.
‫Umarım beğenmişsinizdir ve bir sonraki videoda görüşmek üzere.