Düz java diziler (yani String[] strings
) dinamik olarak yeniden boyutlandırılabilir edilemez; oda dışında olduğunuzda ancak hala dizinizdeki öğeleri eklemek istiyorsanız, daha büyük bir tane oluşturmanız ve mevcut diziyi ilk n
konumlarına kopyalamanız gerekir.
Neyse ki, sizin için bu işi yapan java.util.List
uygulamaları vardır. java.util.ArrayList
ve java.util.Vector
, diziler kullanılarak uygulanır.
Ancak, dizelerin dahili olarak bir dizide depolanmasının gerçekten umrunda mı yoksa sadece odadan kaçmak için endişelenmeden öğeleri eklemeye devam edecek bir koleksiyona ihtiyacınız var mı? İkincisi ise, o zaman orada bir kaç genel amaçlı List
uygulamalarından birini seçebilirsiniz. Çoğu zaman seçimlerdir:
ArrayList
-
Vector
senkronize değil temel dizi temelli uygulama, - senkronize, dizi bazlı uygulama
LinkedList
- Çifte bağlantılı liste uygulaması, hızlı ortada öğeleri eklemek için listenin listesi
Listenizin yinelenen öğeleri olmasını bekliyor musunuz? Kullanım durumunuz için yinelenen öğeler hiçbir zaman mevcut değilse, bir java.util.Set
tercih etmelisiniz. Setlerin çift kopya içermemesi garanti edilir. İyi bir genel amaçlı set uygulaması java.util.HashSet
.
Cevap takip etmek
$my_string_array["property"]
benzer bir dizini kullanarak erişim dizeleri için soru, ayrıca java.util
pakette, bir Map<String, String>
içine koymak gerekir. İyi bir genel amaçlı harita uygulaması HashMap
'dur.Eğer harita oluşturduktan sonra
,
- Kullanım
map.put("key", "string")
onun anahtar ile bir dize erişmek için dizeleri
- Kullanım
map.get("key")
ekleyin.
java.util.Map
'un yinelenen anahtarlar içeremeyeceğini unutmayın. Aynı tuşla art arda put
'u ararsanız, sadece en son aramada ayarlanan değer kalır, daha önce olanlar kaybolacaktır. Ama bu aynı zamanda PHP ilişkilendirici dizileri için bir davranış olduğunu tahmin ediyorum, bu yüzden sürpriz olmamalı.
Sadece tam olarak, java.util'de (diğer tüm koleksiyon sınıflarıyla birlikte). java.util.Collections' (büyük harf C ile) bir yardımcı program sınıfı değil, bir pakettir. –
@Peter iyi yakaladım, benim sonrası –
mesajımı düzelttim, takip eden bir soru dizgesi oluşturmak da mümkündür [ör .: $ my_string_array ["property"]]? – lock