/** * 按步长从一个ArrayList<T>中取出值,成为一个新的ArrayList<T> <br> * 注意,第一个无论如何都会选取第一个元素 * * @param arrayList 原始ArrayList<T> * @param stepLength 每隔多少取一个值 * <pre> * 例如: * 原始ArrayList<T>:[yinshi,nichao,nileader,test,name,abc] * stepLength = 2,那么返回 * [yinshi,nileader,name] * </pre> */ public static <T> ArrayList<T> select(ArrayList<T> arrayList, int stepLength) { ArrayList<T> arrayListNew = new ArrayList<T>(); if (CollectionUtil.isBlank(arrayList)) { return arrayListNew; } stepLength = IntegerUtil.defaultIfSmallerThan0(stepLength, 1); if (1 == stepLength) return arrayList; int index = 0; while (index + stepLength < arrayList.size()) { arrayListNew.add(arrayList.get(index)); index += stepLength; } arrayListNew.add(arrayList.get(index)); return arrayListNew; }