8 Ekim 2018 Pazartesi

Collection Arayüzü

Giriş
Iterable arayüzünden kalıtır. Stream arayüzüne uğramadan bazı faydalı şeyleri şöyle yaparız.

contains metodu
Şöyle yaparız.
if (list.contains(input)) {
  ...
}
removeIf metodu
Java 8 ile geldi.  Bu metoda 2 alternatif var . Her ikisi de bence çok iyi değil.

1. Iterator kullanılabilir. Şöyle yaparız
Iterator<String> bookIt = listOfBooks.iterator();
while(bookIt.hasNext()){
   String book = bookIt.next();
   if (book.contains("Java")) {
       bookIt.remove();
   }
}
2. Stream kullanılabilir. Şöyle yaparız.
 List<String> booksWithNoCode =  listOfBooks.stream()
 .filter(book-> !book.contains("Code"))
 .collect(toList())
Örnek
Elimizde şöyle bir liste olsun.
ArrayList<Person> peeps = new ArrayList<Person>(); 

peeps.add(new Person("112", "John", "Smith"));
peeps.add(new Person("516", "Jane", "Smith"));
peeps.add(new Person("114", "John", "Doe"));
Bazı elemanları silmek için şöyle yaparız.
peeps.removeIf(p -> p.getId().equals("112"));

Hiç yorum yok:

Yorum Gönder