Bazı karşılaştırıcılara göre toplama filtrelemesinin alt kümesini almak mümkün mü ve üst koleksiyondaki tüm alt sürümleri ve alt kümeleri tüm değişiklikleri alıyor mu?Karşılaştırıcı kullanılarak ayarlanan alt kümeyi alın
cevap
NavigableSet.subSet()
numaralı telefondan arama yapmak istediğiniz şeyi yapabilir. NavigableSet
, temel kümenin "görünümleri" olan alt kümeleri oluşturma yeteneğine sahip sıralanmış kümedir. Bu görünümler, sağladığınız değerlerle kümenin oluşturulmasında sağlanan Comparator
veya değerlerin doğal sırasını kullanarak sınırlanır. En yaygın uygulama TreeSet
'dur. Örneğin, bunu yapabilirsiniz: beklediğiniz gibi
NavigableSet<String> set = new TreeSet<>(
Arrays.asList("b", "e", "a", "d", "c"));
System.out.println(set);
sonuç [a, b, c, d, e]
olduğunu. Şimdi kapsayıcı "d" ile "b" den, örneğin bir alt kümesini oluşturabilirsiniz:
NavigableSet<String> set2 = set.subSet("b", true, "d", true);
System.out.println(set2);
çıkış [b, c, d]
olduğunu. Eğer hem içinde hem de dışında sınırların orijinal kümesine bazı unsurlar eklemek Şimdi, eğer alt küme görünümü değişiklikleri içine eklendiğini yalnızca ne dahil etmek:
set.add("a1");
set.add("c1");
set.add("e1");
System.out.println(set2);
çıkış [b, c, c1, d]
olduğunu.
Tamam, ve istediğim, "b" 'den "d"' ye kadar değil, her saniyede beni seçen bazı karşılaştırıcılara göre alt-set oluşturmaktır. Sürekli olmayanı seçmenin zor olduğunu varsayarsak, böyle bir genel iletişimci yoktur. Ama eğer TreeSet, yani öğeleri tek ve çift olarak bölen bir karşılaştırıcıya sahipse. Bu karşılaştırıcıyı kullanarak birinci veya ikinci alt seti istiyorum. – userbb
@userbb Tamam, TreeSet karşılaştırıcısının istediğini yapabileceğini düşünmüyorum. Karşılaştırıcı, kümedeki tüm öğelerin * toplam sırasını * belirler ve oluşturma zamanında oluşturulan kümenin sabit bir özelliğidir. Örneğin, bir sorgu işleminde onu ayarlayamazsınız. Bir yüklemeyle bir filtre gibi daha fazla bir şeye ihtiyacınız olduğu gibi geliyor, ama kullanım durumunuzu daha ayrıntılı bir şekilde açıklamanız gerektiğini düşünüyorum. Ben ve diğerleri biraz tahmin ediyorlar. –
- 1. Java'da bir alt kümeyi bulma
- 2. data.frame içindeki bir alt kümeyi anlama
- 3. Karşılaştırıcı karşılaştırmasıInt
- 4. SetContentView kullanılarak ayarlanan bir düzenden ViewGroup nasıl edinilir?
- 5. alt sınıfının adı alın
- 6. Java Karşılaştırıcı sınıf diziler
- 7. Karşılaştırıcı ihlali genel sözleşmesi
- 8. Haskell bir alt liste alın
- 9. rea.js kullanılarak api işlevinden json verileri alın
- 10. MySQL CASE bildiriminde boş kümeyi kullanma
- 11. java.lang.NoSuchMethodError: org.springframework.beans.factory.support.DefaultListableBeanFactory.getDependencyComparator() Ljava/util/Karşılaştırıcı; "}}
- 12. eclipse karşılaştırıcı, farklılıkları göstermeyi durdurdu
- 13. Java'da ayarlanan zaman karmaşıklığı
- 14. Alt klasörlerdeki birden çok alt projeyi mi ele alın?
- 15. Alt sorguda bulunmayan tüm kayıtları alın
- 16. İki dizenin içine bir alt dizgi alın
- 17. Bir Kümeyi (veya Haritası) "dondurmak" mümkün mü?
- 18. DSOFile kitaplığı kullanılarak ayarlanan özel dosya özellikleri neden kaydedildikten sonra devam etmiyor?
- 19. HbpWebRequest/HttpWebResponse kullanılarak yapılan HTTP istekleri ve yanıtları alın Fiddler
- 20. Aynı işlem içinde @Transactional kullanılarak eklenen verileri alın
- 21. Set ve Karşılaştırıcı Listesinden Nasıl Alınır?
- 22. Özel bir karşılaştırıcı nasıl "sort" için geçirilir?
- 23. Bir karşılaştırıcı akışı nasıl oluşturulur ve uygulanır?
- 24. Python çoklu işlem modülü kullanılarak başlatılan bir alt işlemin ayrılması
- 25. performselector UIView alt sınıfında, aşağıdaki yöntem kullanılarak am
- 26. Alt tabakaya ilişkin alt tabaka alt dizesi
- 27. Alt kayıt zaten Varlık Çerçeve kodu kullanılarak var olduğunda alt tabloya çocuk tablosuna ekleme
- 28. Laravel 4: javascript tarafından ayarlanan tanımlama bilgileri
- 29. sidekiq'deki işler için ayarlanan zaman aşımı süresi
- 30. .bash_profile'm yokken ayarlanan python yolu nerede?
Koleksiyonunuza bir çeşit 'tetikleyici' eklemek mi istiyorsunuz? –
Bunun bir çeşit gözlemlenebilir arabirim uygulamak zorunda olacağından, düzenli bir koleksiyon için bunun mümkün olduğunu düşünmüyorum. Ya bu, ya da orijinal koleksiyonda bir şey değiştiğinde her öğeyi her seferinde test etmeniz gerekiyor. –
'NavigableSet.subSet()' yapmak istediğiniz şeyi yapar mı? –