basit bir boru hattı yapabilirsiniz kutudan dışarı ama bu filtrelemeyi verebilir hiçbir koleksiyon yoktur (Java 8 ihtiyacı):
filtreleme izin üçüncü taraf kütüphaneler vardır
filteredList = collection.stream()
.filter(e -> e.startsWith("a"))
.collect(Collectors.toList());
koleksiyonlar da ayrıca: Guava'nın Collections2#filter
. Apache Commons koleksiyonlarından
ColectionUtils#filter
. Bağlantılı Javadoc açıklamaları, her yöntemin filtrelemeyi tam olarak nasıl yaptığını (yani, belirli bir koleksiyonu değiştirip değiştirmediğini veya yeni bir tane döndürdüğünü) açıklamaktadır.
Veya sadece bir for
döngü (java-7 ve öncesi) kullanarak: Sen regex gerekmez
List<String> filteredList = new ArrayList<String>();
for(Iterator<String> iterator = collection.iterator(); iterator.hasNext();) {
String str = iterator.next();
if(str.startsWith("a")) {
filteredList.add(str);
}
}
Koleksiyon API'sinde buna benzer bir şey eklemek mantıklı olmaz. Sadece dizelere uygulanır ve çok özel bir gereksinimdir. Bu kendini kodlamak zorunda kalacağın bir şey. – RealSkeptic