varsayalım set
n
element ve k
ile HashSet
bazı int
0
arasındadır (dahil) ve n
(hariç).Verimliliği.(). FindFirst atlama()
Birisi, basitçe, bunu yaptığınızda aslında ne olduğunu açıklayabilir mi?
set.stream().skip(k).findFirst();
Özellikle, bunun zaman karmaşıklığı nedir? Collection
arabirimine spliterator()
eklenmesi, Java 7 ile mümkün olabileceğinden, koleksiyonların "rastgele" öğelerine daha hızlı erişebildiğimiz anlamına mı geliyor?
Genelde konuşma, hayır ve HashSet ile değil. HashSet.spliterator() '' SİPARİŞLİ 'özelliğine sahip değildir, dolayısıyla burada tanımlanmamış bir davranış olabilir. –
@LouisWasserman Teşekkürler, düşündüm ama sadece onay istedi. –
'Spliterator' arabiriminin kendisinin 'at' yöntemine veya işaretçiyi geçerli öğeye taşımanın başka bir yoluna sahip olmadığını fark edebilirsiniz. Dolayısıyla, “rastgele” koleksiyon koleksiyonlarına “daha hızlı erişim” uygulamalarının hiçbir yolu yoktur. – Holger