Koleksiyona bir java.util.Iterator
veren bir API ile konuşuyorum. Bu, üzerinde yineleyebileceğim, ancak öğelere doğrudan/rasgele erişemediğim anlamına gelir.Ardışık koleksiyondan rastgele bir öğe alın
Şimdi benim sorunum için: Bu koleksiyondan rastgele bir öğe almak istiyorum. Bunu nasıl yaparım? Sanırım doğrudan erişime izin veren yeni bir koleksiyon oluşturabilirim, ama bu küçük bir bellek tüketmiyor mu? Ayrıca, bu öğeyi alıp yinelemeyi bırakıp devam ettirmeme gerek olup olmadığını görmek için tüm koleksiyonun üzerinde ve her öğenin "bir zar atması" için yineleyebilirim. Ama sonra koleksiyonun büyüklüğüne ihtiyacım var ve bunu yineleyiciden alamıyorum.
Şimdiden teşekkürler.
koleksiyon normalde olmamalı sınıfta uygular: olasılık parametreleri değil 1,0
Kullanımı toplamda bağlı olacaktır 'Iterator'. – thejh
Koleksiyonunuz bir java.util.Collection' mı? – thejh
Bellek tüketimi o kadar büyük olmamalıdır. Yeni koleksiyon sadece gerçek veriye işaret ediyor, bu yüzden yeni koleksiyon nesnesinin büyüklüğü! = Koleksiyonun büyüklüğü. –