lawang code

lawang Code


Tanyakan kode disini

Cara filter List di Java dengan menggunakan Filter

oleh handita okviyanto 2 tahun yang lalu

Tidak seperti C# yang dapat dengan mudah kita gunakan LamdaExpression ataupun Linq kita harus menggunakan fungsi kita sendiri untuk filter object yang kita punya.

Misalkan anda punya class sebagai berikut :

public class Murid{
    public String nama;
    public String kelas;
    public int tinggiBadan;
}

Kemudian anda punya kumpulan banyak murid sebagai berikut :

List<Murid> listMurid=new ArrayList<Murid>();
listMurid.add(new Murid("Agung","2A",170));
listMurid.add(new Murid("Agung 1","2A",180));
listMurid.add(new Murid("Agung 2","2B",170));
listMurid.add(new Murid("Agung" 3,"2C",180));

Anda ingin menyeleksi murid yang mempunyai tinggi badan 180 caranya anda dapat menggunakan filter yang ada di java

Buat interface dlu filter sebagai brikut :

public interface Filter<T,E> {
    public boolean isMatched(T object, E text);
}

Setelah itu Buat kelas FilterList seperti berikut :

public class FilterList<E> {
    public  <T> List filterList(List<T> originalList, Filter filter, E text) {
        List<T> filterList = new ArrayList<T>();
        for (T object : originalList) {
            if (filter.isMatched(object, text)) {
                filterList.add(object);
            } else {
                continue;
            }
        }
        return filterList;
    }
}

Jika sudah anda dapat memfilter list tadi sebagai berikut :

 Filter<Murid,Integer> filterTinggiBadan=new Filter<Murid, Integer>() {
        @Override
        public boolean isMatched(Murid object, Integer text) {
            return object.tinggiBadan==text;
        }
    };
 List<Murid> listMuridTinggi180=new FilterList().filterList(listMurid,filterTinggiBadan,180);

java
Anda harus login terlebih dahulu untuk memberikan komentar

Recent Tag

X 4
X 6
X 1
X 21
X 3
X 42
X 1
X 2
X 6

Bantuan

Help

Feedback

Help