Mapmap = new HashMap (); for (PriceListManager manager : yourArrayList) { if (!map.contains(manager.getPriceListID())) { map.put(manager.getPriceListID(), manager); } if (manager.isUser()) { map.get(manager.getPriceListID()).setIsUser(true); } if (manager.isManager()) { map.get(manager.getPriceListID()).setIsManager(true); } } List newList = new ArrayList (); newList.addAll(map.values()); // Do stuff with newList....