İçindekiler
Yazılım yaratıcıları olarak gelişimimizin bir noktasında, programlarımızda çok daha karmaşık şeyler yapmamız gereken durumlarla karşılaşacağız, bu genellikle daha karmaşık veri yönetimi ve bunların farklı bir organizasyonu anlamına gelir.Veri yapısıBunun için elimizde Veri yapıları, bilgilerimizi program içinde düzenleyerek onlara düzenli ve şematik bir şekilde erişebilmemizi sağlar. İçinde Java Sınıfları ve standart kütüphaneleri sayesinde farklı yapı türlerini işleyebiliriz, bu yüzden hangilerinin mevcut olduğunu öğrenirsek, gerekli avantajı almamız ve böylece hedeflerimize ulaşmamız mümkündür.
A dizi doğrusal bir yapıya sahip olan ve aynı türden bir miktar veri depolayabilen bir yapı türüdür. Saklayabileceğiniz veriler, aşağıdakiler gibi ilkel türlerdir: int, bool, vb. Ancak, nesne türlerini de saklayabilirsiniz, ancak bu durumda depolandığı haliyle nesne değil, nesneye referanstır, ancak bilmek çok yararlı bir şeydir.
ErişimDoğrusal olduğundan, içeriğine erişim sıralı olarak yapılmalıdır, ancak doğrudan bir dizinine işaret edip içeriğini elde edebilmemize rağmen, çoğu durumda bu yapı üzerinde yapabileceğimiz yol, dizinlerinizin bir dizisine yanıt verir.
Eleman başına bir indeksimiz olduğunda bu bir dizi veya tek boyutlu vektörÖte yandan, eleman başına birden fazla indeksimiz olduğunda, dizilerden bahsediyoruz. çok boyutluyani bir dizin içinde kendi dizinleri olan bir iç yapıya sahibiz.
Bir diziyi bildirmek çok basittir, sadece depolayacağı veri türünü tanımlamamız ve boyutları parantez içinde belirtmemiz yeterlidir, ardından adını tanımlamalıyız ve bununla onu kullanmaya başlayabiliriz.
Bir diziyi bildirmenin birkaç yolu olmasına rağmen, aşağıda gördüğümüz gibi tercih edilen kısa formdur:
type [] nameArrary = yeni tür [uzunluk];
Bir dizi durumunda çok boyutlu aynısını yapabiliriz, ancak aynı bildirimde yeni katmanlar veya boyutlar ekleyebiliriz, örneğin:
İki boyutlu dizi:
type [] [] nameArrary = yeni tür [uzunluk] [uzunluk];
Üç boyutlu dizi:
type [] [] [] nameArrary = new type [uzunluk] [uzunluk] [uzunluk];
Akılda tutmamız gereken tek şey, üç boyuttan sonra işler çok daha karmaşık hale gelir, ancak bu, programın geliştirilmesi sırasındaki ihtiyaçlarımız tarafından belirlenecektir.
Bir diziden geçmek için elimizdeki yinelemeli döngülerden birini kullanmalıyız, döngü şu şekildedir: için favorilerden biri, çünkü dizinin boyutunu belirtebilir ve her bir öğesinin içinden geçebiliriz.
Dizilerin indekslerinin sıfırdan başladığını aklımızda tutmalıyız, bu nedenle üç elemanlı bir dizide indeksleri şöyle olur: [0], [1], [2], Geleneksel bir hesap olmadığı için bu dikkate alınmalıdır, kafa karışıklığına yol açabilir.
Bir dizide nasıl döngü yapılacağına ilişkin genel bir örnek, aşağıdakine benzer bir şeydir:
for (int ben = 0; ben
Aynı küçük örnekte karşılık gelen dizinin içeriğinin ekran baskısını yaptığımız gibi, dizi ile sıralı atamalar ve diğer işlemleri de yapabiliriz. Çok boyutlu bir dizi durumunda, sahip olduğumuz boyutların her biri için bir döngü yapmalıyız, bu yüzden üç boyuttan sonra bir dizinin çok karmaşık hale geldiğini konuşuyoruz.
İçinde bir dizi tanımlayacağımız küçük bir kod oluşturacağız, ardından elemanlarını gezeceğiz ve bunları ekranda göstereceğiz. Şimdi kodumuzun neye benzediğini görelim:
public class ExampleArray1 {public static void main (String [] argv) {int [] ourArray = new int [12]; for (int i = 0; i <12; i ++) {ourArray [i] = i + 1; System.out.println ("Dizinin içeriği: [" + i + "] şudur:" + ourArray [i]); } System.out.println ("Dizin toplam uzunluğu:" + ourArray.length); }}
Bu programda sınıfımızı ve metodumuzu tanımladıktan sonra yaptığımız ilk şey ana int adında bir dizi tanımlamaktır. bizim dizimiz 12 elemanlı bir uzunluk atayacağız, sonra 0'dan 11'e giden bir for döngüsü ile dizinin indekslerinin her birine bir değer atayacağız, sonra hemen yapıyoruz, değerini yazdırıyoruz ve sonunda kullanıyoruz özellikler uzunluk toplam uzunluğunu elde etmemizi sağlayan dizinin ve eşit olarak yazdırdığımız dizinin.
Programı çalıştırırken bunu konsolumuzda görürsek, aşağıdakileri elde ederiz:
BÜYÜT
Gördüğümüz gibi, dizinin her elemanı için bir satır ve gerçek boyutunu gösteren bir son satır elde ediyoruz, ayrıca 0'dan 11'e kadar sayarsak 12 elemanımız olduğunu da not ediyoruz, yani indeks sayısı hakkında açıkladığımız şey diziyi gösterdi.Dizilerin kullanımı çok popüler ve çok kullanışlıdır, ancak sınırlamalarının görülmeye başladığı zamanlar vardır, özellikle de sonunda kaç öğeye sahip olacağımızı bilmediğimiz çok dinamik yapılarla çalıştığımızda ve nerede bir diziye ihtiyacımız olduğunu. öğeleri arasında döngü yapmak için yinelemeler dışında biraz daha fazla işlevsellik.
Kendimizi veri işlemede daha karmaşık olma ihtiyacı içinde gördüğümüzde, şuraya gidebiliriz: koleksiyonlarstandart kitaplığında gruplandırılmış bir dizi sınıftan başka bir şey olmayan Java java.util ve bu, başka veri yapıları oluşturmamıza izin verir.
Bu durumda sınıfı biraz keşfedeceğiz Dizi ListesiBu, adından da anlaşılacağı gibi dizi listeleri oluşturmamıza izin verir, ancak öğelerini manipüle etmek için bunu farklı yöntemlerle yapmamız gerekir.
Aşağıda sınıfın mevcut yöntemlerinin küçük bir listesini görelim Dizi Listesi daha da önemlisi ve programlarımızı oluşturmamız gerekebileceğini, ek bir şeye ihtiyacımız olursa her zaman dilin resmi belgelerine başvurabiliriz.
Ekle ()Bu yöntem, listeye sonunda veya belirli bir konumda bir eleman eklememize izin verir, bu parametreler iletilerek tanımlanır.
açık ()İçerdiği tüm elemanları silerek veya boşaltarak yapıyı temizler.
elde etmek ()Söz konusu listenin belirtilen indeksinin değerini döndürür.
kaldırmak ()Bu yöntem, veri yapısından belirli bir öğeyi kaldırmamızı sağlar.
sıralamak ()Bu yöntem, listenin içeriğinin veya veri yapısının bir dizi dönüştürmesini yapmamızı sağlar.
ile bir liste bildirmek için Dizi Listesi, sadece bu sınıfın bir örneğini oluşturmamız gerekiyor, bununla öğelerin ve içeriğin atanması üzerinde çalışmaya başlayabiliriz, bunun için aşağıdaki sözdizimini görebiliriz:
ArrayList ourList = yeni ArrayList();
Her ne kadar aşağıdaki kod satırında gördüğümüz gibi bir bildirim ve öğelerin eşzamanlı atamasını da kullanabiliriz:
List ourList = Arrays.asList ("Pedro", "Juan", "Manuel");
Listemizin turu, yinelemeli bir döngü ile gerçekleştirilebilir. için () dizilerde zaten gördüğümüz gibi, fark şu ki, listelerimizdeki öğelerin sayısını kesin olarak bilmediğimiz için limiti yöntemi kullanarak tanımlamalıyız. boy () aynı ve içeriği belirli bir dizinde elde etmek için yöntemi kullanıyoruz elde etmek (). Bu izlenecek yol için sözdiziminin bir örneği aşağıdaki olabilir:
for (int ben = 0; ben
Şimdi, hakkında gördüklerimizi uygulamaya koyduğumuz küçük bir program oluşturacağız. Dizi Listesi ve bu şekilde, söz konusu veri yapısı hakkında bir öğrenme belirtin:
java.util.ArrayList'i içe aktarın; public class ExampleList1 {public static void main (String [] argv) {ArrayList ourList = new ArrayList(); bizimList.add ("Peter"); bizimList.add ("John"); ourList.add ("Francisco"); bizimList.add ("Manolo"); bizimList.add ("Paul"); for (int ben = 0; ben
Bu kodda yaptığımız ilk şeyin sınıfı içe aktarmak olduğunu görüyoruz. Dizi Listesi paketin java.util, yapmazsak kullanamayız.
Sonra yeni bir tip elemanları listesi tanımladık. Sicim, sonra yöntemi kullanarak listeyi popüler hale getireceğiz Ekle ()Gördüğümüz gibi bir eleman limiti tanımlamadık, bu listeye eleman ekledikçe dinamik olarak büyüyecek.
Sonunda bir döngü ile için () ve yöntemi kullanarak boy () liste nesnemizin öğelerini inceliyoruz ve her konumun değerini elde etmek için yöntemi kullanıyoruz elde etmek () bununla daha sonra içeriği yazdırabiliriz. Konsolumuzda çalıştırdığımızda neye benzediğini görelim:
BÜYÜT
Bununla bu öğreticiyi bitirdik, içindeki veri yapılarını oluşturmayı ve bunlarla çalışmayı zaten öğrendik. Java, bu, ihtiyaçlarımızı karşılayan daha karmaşık uygulamalar ve programlar oluşturmamızı sağlayacaktır.