java graph tutorial how implement graph data structure
Bu Kapsamlı Java Grafik Eğitimi, Grafik Veri Yapısını ayrıntılı olarak açıklar. Java'da Grafiklerin Nasıl Oluşturulacağını, Uygulanacağını, Temsil Edileceğini ve Geçiş Yapılacağını içerir:
Bir grafik veri yapısı temel olarak çeşitli noktaları birbirine bağlayan bir ağı temsil eder. Bu noktalar köşeler olarak adlandırılır ve bu köşeleri birbirine bağlayan bağlantılar 'Kenarlar' olarak adlandırılır. Dolayısıyla bir g grafiği, bu köşeleri birbirine bağlayan bir dizi V köşe noktası ve E kenarı olarak tanımlanır.
Grafikler çoğunlukla bilgisayar ağları, sosyal ağlar vb. Gibi çeşitli ağları temsil etmek için kullanılır. Yazılım veya mimarilerde çeşitli bağımlılıkları temsil etmek için de kullanılabilirler. Bu bağımlılık grafikleri, yazılımı analiz etmede ve ayrıca bazen hata ayıklamada çok kullanışlıdır.
=> TÜM Java Öğreticilerini Buradan Kontrol Edin.
Ne öğreneceksin:
- Java Grafik Veri Yapısı
- Grafik Nasıl Oluşturulur?
- Java'da Grafik Uygulaması
- Java Grafik Kitaplığı
- Sonuç
Java Grafik Veri Yapısı
Aşağıda, beş köşesi {A, B, C, D, E} olan ve kenarları {{AB}, {AC}, {AD}, {BD}, {CE}, {ED}} ile verilen bir grafik verilmiştir. Kenarlar herhangi bir yön göstermediğinden, bu grafik 'yönsüz grafik' olarak bilinir.
Yukarıda gösterilen yönsüz grafiğin yanı sıra, Java'daki grafiğin birkaç çeşidi vardır.
Bu varyantları ayrıntılı olarak tartışalım.
Farklı Grafik Çeşitleri
Aşağıda grafiğin bazı varyantları verilmiştir.
# 1) Yönlendirilmiş Grafik
Yönlendirilmiş bir grafik veya digraf, kenarların belirli bir yöne sahip olduğu bir grafik veri yapısıdır. Bir tepe noktasından kaynaklanırlar ve başka bir tepe noktasına ulaşırlar.
Aşağıdaki diyagram, yönlendirilmiş grafik örneğini göstermektedir.
Yukarıdaki diyagramda, tepe A'dan tepe B'ye bir kenar vardır. Ancak, B'den A'ya belirtilmiş bir kenar olmadığı sürece, A'dan B'ye, yönsüz grafikteki gibi B'den A'ya aynı olmadığına dikkat edin.
İlk ve son köşesi aynı olan en az bir yol varsa, yönlendirilmiş bir grafik döngüseldir. Yukarıdaki diyagramda, bir A-> B-> C-> D-> E-> A yolu, yönlendirilmiş bir döngü veya döngüsel grafik oluşturur.
ücretsiz anime izlemek için site
Tersine, yönlendirilmiş bir döngüsel olmayan grafik, yönlendirilmiş bir döngünün olmadığı, yani bir döngü oluşturan bir yolun olmadığı bir grafiktir.
# 2) Ağırlıklı Grafik
Ağırlıklı bir grafikte bir ağırlıkgrafiğin her bir kenarı ile ilişkilidir. Ağırlık normalde iki köşe arasındaki mesafeyi gösterir. Aşağıdaki diyagram ağırlıklı grafiği göstermektedir. Yön gösterilmediğinden, bu yönsüz grafiktir.
Ağırlıklı bir grafiğin yönlendirilmiş veya yönlendirilmemiş olabileceğini unutmayın.
Grafik Nasıl Oluşturulur?
Java, grafik veri yapısının tam teşekküllü bir uygulamasını sağlamaz. Bununla birlikte, grafiği Java'daki Koleksiyonları kullanarak programlı olarak temsil edebiliriz. Vektörler gibi dinamik dizileri kullanarak bir grafik de uygulayabiliriz.
Genellikle, HashMap koleksiyonunu kullanarak Java'da grafikler uygularız. HashMap öğeleri, anahtar-değer çiftleri biçimindedir. Bir HashMap'te grafik bitişiklik listesini temsil edebiliriz.
Bir grafik oluşturmanın en yaygın yolu, bitişik matris veya bitişiklik listesi gibi grafiklerin temsillerinden birini kullanmaktır. Daha sonra bu gösterimleri tartışacağız ve ardından ArrayList'i kullanacağımız bitişiklik listesini kullanarak grafiği Java'da uygulayacağız.
Java'da Grafik Gösterimi
Grafik gösterimi, bilgisayarın belleğinde depolanan grafik verilerinin kullanıldığı yaklaşım veya teknik anlamına gelir.
Aşağıda gösterildiği gibi grafiklerin iki ana temsiline sahibiz.
Bitişiklik Matrisi
Bitişiklik Matrisi, grafiklerin doğrusal bir temsilidir. Bu matris, grafiğin köşelerinin ve kenarlarının eşlemesini depolar. Bitişik matrisinde, grafiğin köşeleri satırları ve sütunları temsil eder. Bu, grafiğin N köşesine sahip olması durumunda, bitişik matrisin NxN boyutuna sahip olacağı anlamına gelir.
V, grafiğin bir dizi köşesiyse, kesişme Mijbitişiklik listesinde = 1, i ve j köşeleri arasında bir kenar olduğu anlamına gelir.
Bu kavramı daha iyi anlamak için, yönsüz bir grafik için bitişik bir Matris hazırlayalım.
Yukarıdaki diyagramdan görüldüğü gibi, A'dan B'ye ve A'dan E'ye bir kenar olduğu için A köşesi için AB ve AE kesişimlerinin 1'e ayarlandığını görüyoruz. Benzer şekilde kesişme BA 1'e ayarlandı, çünkü bu yönsüz grafik ve AB = BA. Benzer şekilde, kenarı olan diğer tüm kesişimleri 1'e ayarladık.
Grafiğin yönlendirilmesi durumunda, kesişme Mijsadece Vi'den Vj'ye yönlendirilmiş net bir kenar varsa 1'e ayarlanacaktır.
Bu, aşağıdaki şekilde gösterilmektedir.
Yukarıdaki diyagramdan da görebileceğimiz gibi, A'dan B'ye bir kenar vardır. Yani AB kesişimi 1'e ayarlanmıştır ancak BA kesişimi 0'a ayarlanmıştır. Bunun nedeni, B'den A'ya yönlendirilmiş kenar olmamasıdır.
E ve D köşelerini düşünün. E'den D'ye ve D'den E'ye kenarlar olduğunu görüyoruz. Dolayısıyla, bu iki kesişim noktasını da bitişik Matrix'te 1'e ayarladık.
Şimdi ağırlıklı grafiklere geçiyoruz. Ağırlıklı grafik için bildiğimiz gibi, ağırlık olarak da bilinen bir tamsayı her kenarla ilişkilendirilir. Bu ağırlığı, var olan kenar için bitişik Matrix'te temsil ediyoruz. Bu ağırlık, bir köşeden diğerine '1' yerine bir kenar olduğunda belirtilir.
Bu gösterim aşağıda gösterilmiştir.
Komşuluk Listesi
Bir grafiği, doğası gereği sıralı olan bitişik bir matris olarak temsil etmek yerine, bağlantılı gösterimi de kullanabiliriz. Bu bağlantılı temsil, bitişiklik listesi olarak bilinir. Bitişiklik listesi, bağlantılı bir listeden başka bir şey değildir ve listedeki her düğüm bir tepe noktasını temsil eder.
İki tepe arasında bir kenarın varlığı, birinci tepe noktasından ikinciye bir işaretçi ile gösterilir. Bu bitişiklik listesi, grafikteki her köşe için tutulur.
Belirli bir düğüm için tüm bitişik düğümleri geçtiğimizde, bitişik listenin son düğümünün bir sonraki işaretçi alanında NULL depolarız.
Şimdi, bitişiklik listesini göstermek için bitişik matrisini temsil etmek için kullandığımız yukarıdaki grafikleri kullanacağız.
Yukarıdaki şekil, yönlendirilmemiş grafiğin bitişiklik listesini göstermektedir. Her köşe veya düğümün kendi bitişiklik listesine sahip olduğunu görüyoruz.
Yönlendirilmemiş grafik durumunda, bitişik listelerin toplam uzunlukları genellikle kenar sayısının iki katıdır. Yukarıdaki grafikte toplam kenar sayısı 6'dır ve tüm bitişiklik listesinin uzunluğunun toplamı veya toplamı 12'dir.
Şimdi yönlendirilmiş grafik için bir bitişiklik listesi hazırlayalım.
Yukarıdaki şekilde görüldüğü gibi, yönlendirilmiş grafikte, grafiğin bitişik listelerinin toplam uzunluğu, grafikteki kenarların sayısına eşittir. Yukarıdaki grafikte 9 kenar vardır ve bu grafik için bitişiklik listelerinin uzunluklarının toplamı = 9.
Şimdi aşağıdaki ağırlıklı yönelimli grafiği ele alalım. Ağırlıklı grafiğin her kenarının kendisiyle ilişkili bir ağırlığa sahip olduğuna dikkat edin. Dolayısıyla, bu grafiği bitişiklik listesiyle temsil ettiğimizde, her liste düğümüne kenarın ağırlığını gösterecek yeni bir alan eklemeliyiz.
Ağırlıklı grafik için bitişiklik listesi aşağıda gösterilmiştir.
Yukarıdaki diyagram, ağırlıklı grafiği ve onun bitişiklik listesini gösterir. Bitişik listede her düğümün ağırlığını belirten yeni bir boşluk olduğuna dikkat edin.
Java'da Grafik Uygulaması
Aşağıdaki program Java'da bir grafiğin uygulanmasını göstermektedir. Burada grafiği temsil etmek için bitişiklik listesini kullandık.
import java.util.*; //class to store edges of the weighted graph class Edge { int src, dest, weight; Edge(int src, int dest, int weight) { this.src = src; this.dest = dest; this.weight = weight; } } // Graph class class Graph { // node of adjacency list static class Node { int value, weight; Node(int value, int weight) { this.value = value; this.weight = weight; } }; // define adjacency list List adj_list = new ArrayList(); //Graph Constructor public Graph(List edges) { // adjacency list memory allocation for (int i = 0; i Çıktı:
Grafik Geçişi Java
Herhangi bir verinin varlığını aramak gibi anlamlı herhangi bir eylemi gerçekleştirmek için, grafiğin her köşesi ve kenarı en az bir kez ziyaret edilecek şekilde grafiği çaprazlamamız gerekir. Bu, grafikte gezinmemize yardımcı olan bir dizi talimattan başka bir şey olmayan grafik algoritmaları kullanılarak yapılır.
Java'da grafikte gezinmek için desteklenen iki algoritma vardır .
- Derinlik ilk geçiş
- Enine geçiş
Derinlik İlk Geçiş
Önce derinlik arama (DFS), bir ağaç veya grafikte gezinmek için kullanılan bir tekniktir. DFS tekniği bir kök düğümle başlar ve ardından grafiğin derinliklerine giderek kök düğümün bitişik düğümlerini geçer. DFS tekniğinde, keşfedilecek çocuk kalmayıncaya kadar düğümler derinlemesine geçilir.
Yaprak düğüme ulaştığımızda (artık alt düğüm yok), DFS geri döner ve diğer düğümlerle başlar ve benzer şekilde geçişi gerçekleştirir. DFS tekniği, üzerinden geçilen düğümleri depolamak için bir yığın veri yapısı kullanır.
java'da ikili ağaç ekleme ve silme
DFS tekniği için algoritma aşağıdadır.
Algoritma
Adım 1: Kök düğümle başlayın ve onu yığına ekleyin
2. Adım: Öğeyi yığından çıkarın ve 'ziyaret edilenler' listesine ekleyin
Adım 3: 'Ziyaret edilmiş' (veya ziyaret edilenler listesinde) olarak işaretlenen düğüm için, bu düğümün henüz ziyaret edilmiş olarak işaretlenmemiş bitişik düğümlerini yığına ekleyin.
Adım 4: Yığın boşalana kadar 2. ve 3. adımları tekrarlayın.
DFS Tekniğinin Gösterimi
Şimdi uygun bir grafik örneği kullanarak DFS tekniğini göstereceğiz.
Aşağıda örnek bir grafik verilmiştir. Keşfedilen düğümleri depolamak için yığın ve ziyaret edilen düğümleri depolamak için bir liste tutuyoruz.
Başlamak için A ile başlayacağız, ziyaret edildi olarak işaretleyeceğiz ve ziyaret edilenler listesine ekleyeceğiz. Ardından, A'nın tüm bitişik düğümlerini ele alacağız ve bu düğümleri aşağıda gösterildiği gibi yığının üzerine iteceğiz.
Ardından, yığından bir düğüm açıyoruz, yani B ve ziyaret edildi olarak işaretliyoruz. Daha sonra onu 'ziyaret edilenler' listesine ekleriz. Bu aşağıda temsil edilmektedir.
Şimdi B'nin komşu düğümleri olan A ve C'yi ele alıyoruz. Bunun dışında A zaten ziyaret edildi. Bu yüzden görmezden geliyoruz. Sonra, yığından C'yi çıkarıyoruz. C'yi ziyaret edildi olarak işaretleyin. Bitişik C düğümü, yani E, yığına eklenir.
Ardından, yığından sonraki E düğümünü çıkarır ve ziyaret edilmiş olarak işaretleriz. E düğümünün bitişik düğümü, önceden ziyaret edilmiş olan C'dir. Bu yüzden görmezden geliyoruz.
Artık yığında yalnızca D düğümü kalır. Bu yüzden ziyaret edildi olarak işaretliyoruz. Komşu düğümü, daha önce ziyaret edilmiş olan A'dır. Yani onu yığına eklemiyoruz.
Bu noktada yığın boştur. Bu, verilen grafik için derinlik ilk geçişini tamamladığımız anlamına gelir.
Ziyaret edilen liste derinlik ilk tekniğini kullanarak son geçiş sırasını verir. Yukarıdaki grafik için son DFS dizisi A-> B-> C-> E-> D'dir.
DFS Uygulaması
import java.io.*; import java.util.*; //DFS Technique for undirected graph class Graph { private int Vertices; // No. of vertices // adjacency list declaration private LinkedList adj_list(); // graph Constructor: to initialize adjacency lists as per no of vertices Graph(int v) { Vertices = v; adj_list = new LinkedList(v); for (int i=0; i Çıktı:
DFS Uygulamaları
# 1) Bir grafikteki bir döngüyü tespit edin: DFS, bir kenara geri dönebildiğimizde grafikteki bir döngüyü algılamayı kolaylaştırır.
# 2) Yol Bulma: DFS çiziminde daha önce gördüğümüz gibi, herhangi iki köşe verildiğinde bu iki köşe arasındaki yolu bulabiliriz.
# 3) Minimum kapsayan ağaç ve en kısa yol: Ağırlıksız grafikte DFS tekniğini çalıştırırsak, bize minimum uzanan ağacı ve kısaltılmış yolu verir.
# 4) Topolojik sıralama: İşleri planlamamız gerektiğinde topolojik sıralama kullanılır. Çeşitli işler arasında bağımlılıklarımız var. Bağlayıcılar, komut zamanlayıcılar, veri serileştirme vb. Arasındaki bağımlılıkları çözmek için topolojik sıralama da kullanabiliriz.
Enine Geçiş
Önce enine (BFS) tekniği, grafiğin düğümlerini depolamak için bir kuyruk kullanır. DFS tekniğine karşı, BFS'de grafiği enine boydan boya geçiyoruz. Bu, grafik seviyesini akıllıca geçmemiz anlamına gelir. Tüm köşeleri veya düğümleri bir seviyede araştırdığımızda bir sonraki seviyeye geçiyoruz.
Aşağıda, enine geçiş tekniği için bir algoritma verilmiştir. .
Algoritma
BFS tekniği için algoritmaya bakalım.
BFS tekniğini uygulamamız gereken bir G grafiği verildiğinde.
- Aşama 1: Kök düğümle başlayın ve onu kuyruğa ekleyin.
- Adım 2: Grafikteki tüm düğümler için 3. ve 4. adımları tekrarlayın.
- Aşama 3: Kök düğümü kuyruktan kaldırın ve Ziyaret Edilenler listesine ekleyin.
- 4. Adım: Şimdi kök düğümün tüm bitişik düğümlerini kuyruğa ekleyin ve her düğüm için 2'den 4'e kadar olan adımları tekrarlayın. (DÖNGÜ SONU)
- 6. Adım: ÇIKIŞ
BFS çizimi
Aşağıda gösterilen örnek bir grafik kullanarak BFS tekniğini gösterelim. 'Ziyaret Edilen' adlı bir liste ve bir sıra tuttuğumuzu unutmayın. DFS örneğinde kullandığımız grafiğin aynısını açıklık amacıyla kullanıyoruz.
İlk olarak, kök ile başlıyoruz, yani A düğümü ve onu ziyaret edilenler listesine ekliyoruz. A düğümünün tüm bitişik düğümleri, yani B, C ve D kuyruğa eklenir.
Ardından, B düğümünü kuyruktan kaldırıyoruz. Onu Ziyaret Edilenler listesine ekleriz ve ziyaret edildi olarak işaretleriz. Ardından, kuyruktaki bitişik B düğümlerini keşfediyoruz (C zaten kuyruktadır). Başka bir bitişik düğüm A zaten ziyaret edildi, bu yüzden onu görmezden geliyoruz.
Ardından, C düğümünü kuyruktan kaldırır ve ziyaret edilmiş olarak işaretleriz. Ziyaret edilenler listesine C ekleriz ve onun yanındaki E düğümü kuyruğa eklenir.
Ardından, D'yi kuyruktan silip ziyaret edildi olarak işaretliyoruz. Düğüm D’nin bitişiğindeki düğüm A zaten ziyaret edildi, bu yüzden onu yok sayıyoruz.
Yani şimdi sadece E düğümü kuyrukta. Ziyaret edildi olarak işaretler ve ziyaret edilenler listesine ekleriz. E'nin komşu düğümü, önceden ziyaret edilmiş olan C'dir. Öyleyse görmezden gelin.
Bu noktada kuyruk boştur ve ziyaret edilen liste BFS geçişi sonucunda elde ettiğimiz sıraya sahiptir. Sıra, A-> B-> C-> D-> E şeklindedir.
BFS Uygulaması
Aşağıdaki Java programı, BFS tekniğinin uygulanmasını göstermektedir.
import java.io.*; import java.util.*; //undirected graph represented using adjacency list. class Graph { private int Vertices; // No. of vertices private LinkedList adj_list(); //Adjacency Lists // graph Constructor:number of vertices in graph are passed Graph(int v) { Vertices = v; adj_list = new LinkedList(v); for (int i=0; i Çıktı:
BFS Geçiş Uygulamaları
# 1) Çöp toplama: Çöp toplama tekniğinin Çöp toplamayı kopyalamak için kullandığı algoritmalardan biri 'Cheney'in algoritması' dır. Bu algoritma, enine geçiş tekniğini kullanır.
# 2) Ağlarda yayın: Paketlerin bir ağda bir noktadan diğerine yayınlanması BFS tekniği kullanılarak yapılır.
# 3) GPS navigasyonu: GPS kullanarak gezinirken bitişik düğümleri bulmak için BFS tekniğini kullanabiliriz.
# 4) Sosyal ağ siteleri: BFS tekniği, sosyal ağ sitelerinde belirli bir kişiyi çevreleyen insanların ağını bulmak için de kullanılır.
# 5) Ağırlıksız grafikte en kısa yol ve minimum kapsayan ağaç: Ağırlıksız grafikte, BFS tekniği minimum bir kapsayan ağacı ve düğümler arasındaki en kısa yolu bulmak için kullanılabilir.
Java Grafik Kitaplığı
Java, programcıların her zaman programdaki grafikleri uygulamalarını zorunlu kılmaz. Java, programdaki grafikleri kullanmak için doğrudan kullanılabilecek birçok hazır kitaplık sağlar. Bu kitaplıklar, grafikten ve çeşitli özelliklerinden tam olarak yararlanmak için gereken tüm grafik API işlevlerine sahiptir.
Aşağıda Java'daki bazı grafik kitaplıklarına kısa bir giriş verilmiştir.
# 1) Google Guava: Google Guava, basit grafikler, ağlar, değer grafikleri vb. Dahil olmak üzere grafikleri ve algoritmaları destekleyen zengin bir kitaplık sağlar.
# 2) Apache Commons: Apache Commons, Grafik veri yapısı bileşenleri ve bu grafik veri yapısı üzerinde çalışan algoritmalara sahip API'ler sağlayan bir Apache projesidir. Bu bileşenler yeniden kullanılabilir.
# 3) JGraphT: JGraphT, yaygın olarak kullanılan Java grafik kitaplıklarından biridir. Basit grafik, yönlendirilmiş grafik, ağırlıklı grafik vb. İçeren grafik veri yapısı işlevselliğinin yanı sıra grafik veri yapısı üzerinde çalışan algoritmalar ve API'ler sağlar.
# 4) SourceForge JUNG: JUNG, 'Java Universal Network / Graph' anlamına gelir ve bir Java çerçevesidir. JUNG, grafik olarak temsil edilmesini istediğimiz verilerin analizi, görselleştirilmesi ve modellenmesi için genişletilebilir bir dil sağlar.
JUNG ayrıca ayrıştırma, kümeleme, optimizasyon vb. İçin çeşitli algoritmalar ve rutinler sağlar.
Sıkça Sorulan Sorular
S # 1) Java'da Grafik nedir?
Cevap: Bir grafik veri yapısı esas olarak bağlantılı verileri depolar, Örneğin, bir insan ağı veya bir şehirler ağı. Bir grafik veri yapısı tipik olarak düğümler adı verilen düğümlerden veya noktalardan oluşur. Her köşe, kenar adı verilen bağlantılar kullanılarak başka bir köşeye bağlanır.
S # 2) Grafik türleri nelerdir?
Cevap: Aşağıda farklı grafik türleri listelenmiştir.
- Çizgi grafiği: Belirli bir özellikteki değişikliklerin zamana göre grafiğini çizmek için bir çizgi grafiği kullanılır.
- Çubuk grafiği: Çubuk grafikler, çeşitli şehirlerdeki nüfus, ülke genelindeki okuryazarlık yüzdeleri vb. Gibi varlıkların sayısal değerlerini karşılaştırır.
Bu ana türlerin yanı sıra, piktograf, histogram, alan grafiği, dağılım grafiği gibi başka türlerimiz de var.
S # 3) Bağlantılı grafik nedir?
Cevap: Bağlantılı bir grafik, her tepe noktasının başka bir tepe noktasına bağlı olduğu bir grafiktir. Dolayısıyla, bağlantılı grafikte, diğer tüm köşelerden her köşeye ulaşabiliriz.
S # 4) Grafiğin uygulamaları nelerdir?
torrent dosyası nasıl çalıştırılır
Cevap: Grafikler çeşitli uygulamalarda kullanılır. Grafik, karmaşık bir ağı temsil etmek için kullanılabilir. Grafikler, sosyal ağ uygulamalarında, insanların ağını belirtmek için olduğu kadar komşu kişileri veya bağlantıları bulma gibi uygulamalarda da kullanılır.
Grafikler, bilgisayar bilimindeki hesaplama akışını belirtmek için kullanılır.
S # 5) Bir grafiği nasıl saklarsınız?
Cevap: Bir grafiği hafızaya kaydetmenin üç yolu vardır:
# 1) Düğümleri veya köşeleri nesneler ve kenarları işaretçiler olarak saklayabiliriz.
#iki) Grafikleri, satırları ve sütunları köşe sayısı ile aynı olan bitişik matris olarak da saklayabiliriz. Her satır ve sütunun kesişimi, bir kenarın varlığını veya yokluğunu gösterir. Ağırlıksız grafikte bir kenarın varlığı 1 ile gösterilirken ağırlıklı grafikte kenarın ağırlığı ile değiştirilir.
# 3) Bir grafiğin depolanmasına yönelik son yaklaşım, grafik köşeleri veya düğümleri arasındaki bitişik kenarlar listesi kullanmaktır. Her düğüm veya tepe noktasının bitişiklik listesi vardır.
Sonuç
Bu eğitimde, Java'daki grafikleri ayrıntılı olarak tartıştık. Çeşitli grafik türlerini, grafik uygulamasını ve geçiş tekniklerini keşfettik. Düğümler arasındaki en kısa yolu bulmak için grafikler kullanılabilir.
Yaklaşan eğitimlerimizde, en kısa yolu bulmanın birkaç yolunu tartışarak grafikleri keşfetmeye devam edeceğiz.
=> Basit Java Eğitim Serisine Buradan Dikkat Edin.
Önerilen Kaynaklar
- Örneklerle Java Yansıtma Eğitimi
- Dijkstra’nın Algoritması Java’da Nasıl Uygulanır?
- Java SWING Eğitimi: Konteyner, Bileşenler ve Olay İşleme
- Yeni Başlayanlar İçin JAVA Eğitimi: 100+ Uygulamalı Java Video Eğitimi
- TreeMap In Java - Java TreeMap Örnekleriyle Öğretici
- Java'da Erişim Değiştiriciler - Örneklerle Eğitim
- String Buffer ve String Builder Eğitimi ile Java String
- Java Dizesi () Örneklerle Yöntem Eğitimi içerir