code: public static <T> List<T> filter(List<T> list, Editor<T> editor) {
  		if (null == list || null == editor) {
  			return list;
  		}
  
  		final List<T> list2 = (list instanceof LinkedList) ? new LinkedList<T>() : new ArrayList<T>(list.size());
  		T modified;
  		for (T t : list) {
  			modified = editor.edit(t);
  			if (null != modified) {
  				list2.add(modified);
  			}
  		}
  		return list2;
  	}
docs: 过滤<br>
  过滤过程通过传入的Editor实现来返回需要的元素内容，这个Editor实现可以实现以下功能：
  
  <pre>
  1、过滤出需要的对象，如果返回null表示这个元素对象抛弃
  2、修改元素对象，返回集合中为修改后的对象
  </pre>
  
  @param <T> 集合元素类型
  @param list 集合
  @param editor 编辑器接口
  @return 过滤后的数组
  @since 4.1.8