package com.example.scoop.basics.common; import java.util.ArrayList; import java.util.List; import rx.functions.Func1; import rx.functions.Func2; public class Lists { public static <T> boolean elementsEqual(List<T> list1, List<T> list2, Func2<T, T, Boolean> comparator) { if (list1 == null || list2 == null) { return false; } if (list1.size() != list2.size()) { return false; } for (int i = 0; i < list1.size(); i++) { if (!comparator.call(list1.get(i), list2.get(i))) { return false; } } return true; } public static <T> boolean isEmptyOrNull(List<T> list) { if (list == null) { return true; } if (list.size() > 0) { return false; } else { return true; } } public static <T1, T2> List<T2> map(List<T1> list, Func1<T1, T2> converter) { ArrayList<T2> mappedList = new ArrayList<>(list.size()); for (T1 item : list) { mappedList.add(converter.call(item)); } return mappedList; } }