提示:JAVA对List传入任意对象list<T>和对应字段返回对应Map<String, List<String>>并且重排序(中文一二三四五六七八九十 排序)和返回对应字段list去重数据多层json
文章目录
前言
例如:这是对List操作的一些工具方法
提示:以下是本篇文章正文内容,下面案例可供参考
一、传入任意对象list和对应字段,返回对应字段list去重数据list
1.代码如下(示例):
/**
* 传入任意对象list,返回对应字段list去重数据list
* @param list 传入List对象
* @param fieldsToCount 需要分组的字段(A,B,C,D)
* @param <T>
* @return 返回对应的Map<A,List<String>>
*/
public static <T> Map<String, List<String>> getValuesMap(List<T> list, String fieldsToCount) {
Map<String, List<String>> resultMap = new HashMap<>();
if (list.isEmpty() || fieldsToCount.isEmpty()) {
return resultMap;
}
T firstObject = list.get(0);
for (String fieldName : fieldsToCount.split(",")) {
try {
Field field = firstObject.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
Set<String> fieldValues = new HashSet<>();
for (T object : list) {
Object value = field.get(object);
if (value != null) {
fieldValues.add(value.toString());
}
}
resultMap.put(fieldName, new ArrayList<>(fieldValues));
} catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
}
return resultMap;
}
1.1请求示例:
List<ResSynWords> resNspInfoList