Video: Yedi Numara 1.Bölüm 2024
Kullanılan ArrayList sınıfı birçok Android uygulaması programında sadece Java koleksiyonlarının buzdağı ucudur. Java kütüphanesi, her biri kendi avantajları olan birçok koleksiyon sınıfları içerir. Tabloda kısaltılmış bir liste bulunmaktadır.
Sınıf Adı | Karakteristik |
---|---|
ArrayList | Yeniden boyutlandırılabilir bir dizi. |
LinkedList | Listedeki bir sonraki
işaret eden bir alana sahip her bir değer listesi. |
Yığın | En üst değere erişim için
'ı optimize eden bir yapı (alttan üste büyür). tepesine bir değer kolayca ekleyebilir veya üstten kaldırabilirsiniz. |
Kuyruk |
için optimize edilmiş olan bir yapıya (arka tarafa) değerler ekleme ve değerleri diğer ucundan (ön) çıkaran bir yapı (bir uçta büyür). |
PriorityQueue | Sıralı gibi, belirli (daha yüksek öncelikli)
değerlerin öne doğru gitmesini sağlayan bir yapı. |
HashSet | Yinelenen değerler içermeyen bir koleksiyon. |
HashMap | Anahtar / değer çifti koleksiyonu. |
Her koleksiyon sınıfının kendi metot seti vardır (bunun yanında, tüm koleksiyon sınıflarının atası olan AbstractCollection'tan devraldığı yöntemlere ek olarak).
Bir dizin, dizine ekleme için optimize edilmiş belirli bir koleksiyon türüdür. Yani, bir dizide saklanan 100 değeri, bir dizide saklanan 1, 000 değeri veya bir dizide depolanan 1, 000, 000 değeri kolayca ve verimli bir şekilde bulursunuz.
Bu dizi, Java gibi yeni diller ve FORTRAN gibi eski diller de dahil olmak üzere birçok programlama dilinin saygıdeğer, denenmiş ve gerçek bir özelliğidir. Aslında, dizinin geçmişi şu ana kadar geriye gidiyor ki çoğu dilde (Java da dahil olmak üzere) dizilerle uğraşmak için özel bir gösterim var. Liste dizileri için basit bir Java programında gösterimi göstermektedir.
pakedi com. allmycode. koleksiyonları; public class SimpleCollectionsDemo {public static void main (String [] Bağımsız değişkenler) { String [] myArray = new String [4]; myArray [0] = "Merhaba"; myArray [1] = ","; myArray [2] = "okuyucular"; myArray [3] = "!"; için (int i = 0; i <4; i ++) { Sistemi. dışarı. baskı (myArray [i]); } Sistem. dışarı. println (); for (String dizesi: myArray) {Sistem. dışarı. print (string);}}}
Bu rakam, listede bulunan kodun bir çıktısının çıktısını göstermektedir. Hem sıradan for döngü hem de geliştirilmiş for döngüsü aynı çıktıyı görüntüler.
Listede, sıradan döngü dizinleri kullanır, her dizin köşeli parantez ile işaretlenmiştir.Tüm Java koleksiyonlarında olduğu gibi, ilk değerin dizini 0 değil 1'dir. Dizinin bildiriminde sayı 4 de dikkat edin - "dizide 4 değer saklayabilirsiniz". "
4 sayısı " myArray [4] 'e bir değer atayabileceğinizi göstermez. "Aslında, bir ifade eklerseniz myArray [4] =" Hata! "Listesindeki koda, programı çalıştırdığınızda kötü bir hata iletisi (ArrayIndexOutOfBoundsException) alırsınız.
Deyim String [] myArray = new String [4] boş bir dizi oluşturur ve myArray değişkenini bu boş diziye yönlendirir. Dizge, potansiyel olarak dört değeri depolayabilir. Ancak, başlangıçta bu değişken, hiçbir değer içermeyen bir diziyi belirtir. Java, ilk atama deyimini (myArray [0] = "Merhaba") yürütene kadar dizi, herhangi bir değer içerdiğinden değil.
Bir dizide saklanan 100nci değeri veya bir dizide depolanan 1, 000, 000ncu değeri kolayca ve verimli bir şekilde bulabilirsiniz. Bir günlük iş için fena değil. Peki, bir diziyi kullanmanın sakıncası nedir? Bir dizinin en büyük dezavantajı, her dizinin tutabileceği değer sayısına sabit bir sınırı vardır. Dizideki diziyi oluşturduğunuzda, Java dört dizge değeri kadar alan ayırır.
Daha sonra programda, beşinci bir öğeyi dizide saklamanız gerektiğine karar verirseniz, kendinizi daha büyük bir dizi yapmak için beceriksiz, verimsiz koda ihtiyacınız olacaktır. Bu örnekte gösterildiği gibi, bir dizi için ihtiyaç duyduğunuz boyutu da fazla tahmin edebilirsiniz:
String [] myArray = new String [20000000];
Çok fazla hesapladığınızda muhtemelen çok fazla bellek alanı harcarsınız.
Dizinin bir diğer hoş olmayan özelliği, yeni değerler eklemenin zorluğudur. İmparator Konstantin Comics koleksiyonunuzda her yıl ahşap bir kutu bulunduğunu düşünün. Serisi, 307 A. D. yılına dayanıyor ve Constantine Roma İmparatorluğu'nun başına geçtiğinde.
Sadece 1. 700 kutunuz var, çünkü altı yıl eksiksiniz (çoğunlukla 1150'den 1155'e kadar olan yıllar). Kutular numaralandırılmamış, ancak 200 metre uzunluğunda bir çizgide birbiri üzerine yığılacaklar.
İstanbul'da bir garaj satışı yaparken, 1152'den itibaren İmparator Constantine Comics nadir bir baskısını buluyorsunuz. 1152 yılına ait ilk çizgi roman, 2013 yılına ait kutuyu yaklaşık on santimetre sola kaydırmayı içeren ve daha sonra 2012 kutuyu yerine getirmek olan 1151 ve 1153 yılları arasındaki kazıma yeni bir kutu eklemeniz gerektiğinin farkındasınızdır. 2013 kutusunu ve 2011 kutusunu 2012 kutusu yerine taşıyın. Ve bunun gibi.
Hayalperest İmparator Konstantin Comics koleksiyoncusu için yorucu olmak üzeredir! Büyük bir dizinin ortasına bir değer eklemek eşit derecede rahatsız edicidir.