/**
* 取LinkedHashMap前几个对象,不是LinkedHashMap不能用,因为无序的map每次顺序是随机的
* zakza
* @param sortMap
* @param length 从0开始长度
* @return
*/
public static LinkedHashMap subMap(LinkedHashMap sortMap, int length) {
if (length < 1) {
return new LinkedHashMap();
}
return subMap(sortMap, 0, length - 1);
}
/**
* 取LinkedHashMap的子集
* zakza
* @param sortMap 源map
* @param start 开始位置
* @param end 结束位置
* @return
*/
@SneakyThrows
public static LinkedHashMap subMap(LinkedHashMap sortMap, int start, int end) {
if (end < start) {
throw new Exception("end must less than start index");
}
LinkedHashMap map = new LinkedHashMap();
Object[] entrySet = sortMap.keySet().toArray();
int length = entrySet.length;
length = length > end ? end : length;
for (int i = start; i <= length; i++) {
map.put(entrySet[i], sortMap.get(entrySet[i]));
}
return map;
}