本文主要是介绍java自定义工具类在List快速查找相同字段值对象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
根据对象某一字段名,获取字段值,将List转换为Map中包含list,Key为字段值,Value为相同字段值的对象list,快速定位具有相同字段值的对象,转换之后便于在Map中根据字段值快速查找相同字段值的对象
//List转Mappublic 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;}
这篇关于java自定义工具类在List快速查找相同字段值对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!