package com.usky.config; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class CollectionUtils { public CollectionUtils() { } public static List removeDuplicatesByField(List list, String fieldName) throws NoSuchFieldException, IllegalAccessException { if (list != null && !list.isEmpty() && fieldName != null && !fieldName.isEmpty()) { Map map = new HashMap(); for(T item : list) { Field field = item.getClass().getDeclaredField(fieldName); field.setAccessible(true); Object fieldValue = field.get(item); map.putIfAbsent(fieldValue, item); } return new ArrayList(map.values()); } else { return list; } } }