java自定义工具类在List快速查找相同字段值对象
2024-01-10 05:58:26
根据对象某一字段名,获取字段值,将List转换为Map中包含list,Key为字段值,Value为相同字段值的对象list,快速定位具有相同字段值的对象,转换之后便于在Map中根据字段值快速查找相同字段值的对象
//List转Map
public static <K, V> Map<K, List<V>> getMapByListAndGroup(List<V> list, String field) {
Map<K, List<V>> map = new HashMap<>();
if (list == null) {
return map;
}
List<V> objList;
for (V obj : list) {
Class<?> clazz = obj.getClass();
Field f;
K fieldValue = null;
try {
f = clazz.getDeclaredField(field);
f.setAccessible(true);
fieldValue = (K) f.get(obj);
} catch (Exception e) {
e.printStackTrace();
}
if (map.containsKey(fieldValue)) {
objList = map.get(fieldValue);
} else {
objList = new ArrayList<>();
}
objList.add(obj);
map.put(fieldValue, objList);
}
return map;
}
文章来源:https://blog.csdn.net/weixin_47315082/article/details/135474532
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!