package com.farriver.bwf.common.utilities; import org.springframework.util.CollectionUtils; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; public class ListUtils { public static List pagination(List records, int pageindex, int pagesize) { if (CollectionUtils.isEmpty(records)) { return Collections.emptyList(); } if (pageindex < 0 || pagesize < 0) { return Collections.emptyList(); } int totalcount = records.size(); long remainder = totalcount % pagesize; long pagecount = (remainder > 0) ? totalcount / pagesize + 1 : totalcount / pagesize; if (remainder != 0 && pageindex == pagecount) { records = records.stream().skip((pageindex - 1) * pagesize).limit(totalcount).collect(Collectors.toList()); } else { records = records.stream().skip((pageindex - 1) * pagesize).limit(pagesize).collect(Collectors.toList()); } return records; } public static Object[] ArrayInster(Object[] array, int index, Object value) { Object[] newArray = new Object[array.length + 1]; for (int i = 0; i < array.length; i++) { newArray[i] = array[i]; } for (int i = newArray.length - 1; i > index; i--) { newArray[i] = newArray[i - 1]; } newArray[index] = value; array = newArray; return array; } public static List ListInster(List array, int index, Object value) { Object[] newArray = new Object[array.size() + 1]; for (int i = 0; i < array.size(); i++) { newArray[i] = array.get(i); } for (int i = newArray.length - 1; i > index; i--) { newArray[i] = newArray[i - 1]; } newArray[index] = value; array = Arrays.asList(newArray); return array; } public static List ListInsterLast(List array, Object value) { Object[] newArray = new Object[array.size() + 1]; for (int i = 0; i < array.size(); i++) { newArray[i] = array.get(i); } newArray[array.size()] = value; array = Arrays.asList(newArray); return array; } }