use Linq-like functions to Java Collections
implementation 'gr.loukaspd:LinqArraylist:{latest version}'
where {latest version}
corresponds to published version in
- Instantiate a LinqArrayList object by passing it your original Collection
- Apply linq methods (even chaining) like select, where etc..
- Get the resulting Collection by calling
getCollection
orgetArrayList()
to get a new ArrayList from the collection
public static void main(String[] args) {
ArrayList<SampleClass> myList = new ArrayList<>();
myList.add(new SampleClass(1, "red"));
myList.add(new SampleClass(2, "green"));
myList.add(new SampleClass(3, "blue"));
ArrayList<SampleClass> result = new LinqArrayList<>(myList)
.where(new LinqArrayList.BooleanFunc<SampleClass>() {
@Override
public boolean lambda(SampleClass item) {
return item.id > 1;
}
})
.getArrayList();
System.out.println(result); //[2: green, 3: blue]
System.out.println(new LinqArrayList<>(myList)
.firstOrDefault(new LinqArrayList.BooleanFunc<SampleClass>() {
@Override
public boolean lambda(SampleClass item) {
return item.color.equals("red");
}
})); //1: red
// chaining
System.out.println(
new LinqArrayList<>(myList)
.where(new LinqArrayList.BooleanFunc<SampleClass>() {
@Override
public boolean lambda(SampleClass item) {
return item.id > 1;
}
})
.select(new LinqArrayList.SelectFunc<SampleClass, String>() {
@Override
public String lambda(SampleClass item) {
return item.color;
}
})
.getArrayList()
); //[green, blue]
}