Java List过滤数据

  • ListUtilsHook.java
public interface ListUtilsHook<T> {
    public boolean find(T t);
}
  • ListUtils.java
public class ListUtils {
	
	/**
	 * List过滤出符合条件的元素
	 * @param <T>
	 * @param list
	 * @param listUtilsHook
	 * @return
	 */
	public static <T> List<T> filter(List<T> list, ListUtilsHook<T> listUtilsHook) {
              ArrayList<T> result = new ArrayList<T>();
              for (T t : list) {
                  if (listUtilsHook.find(t)) {
            	      result.add(t);
                  }
              }
              result.trimToSize();
              return result;
          }
}
  • 调用方式
List<Entity> result = ListUtils.filter(数据源, new ListUtilsHook<Entity>(){
		          @Override
			  public boolean find(Entity entity) {
			      //eg: return entity.getId().equals("###");
			      return 筛选条件;
			  }
		      });

posted @ 2020-08-26 19:44  Maggieq8324  阅读(2215)  评论(0编辑  收藏  举报