Map<String, Character>, - , - .
Map<String, Character> map = new HashMap<>();
List<MyDTO> dtoList = getAllListValue();
for (MyDTO dto : dtoList) {
// put 'A' in the map if the model name is not present yet,
// increment character otherwise
Character c = map.merge(dto.getModel(), 'A', (k, v) -> (char) (v + 1));
dto.setNewID(c.toString());
}
- :
MyDTO{pID='10', productName='PN1', model='ABX', year='1999', newID='A'}
MyDTO{pID='11', productName='PN2', model='ABX', year='1999', newID='B'}
MyDTO{pID='12', productName='PN3', model='ABX', year='2000', newID='C'}
MyDTO{pID='13', productName='PN4', model='XP', year='2000', newID='A'}
MyDTO{pID='14', productName='PN5', model='XP', year='2003', newID='B'}
MyDTO{pID='15', productName='PN6', model='HP', year='2006', newID='A'}
MyDTO{pID='16', productName='PN7', model='LX', year='2008', newID='A'}
MyDTO{pID='17', productName='PN8', model='LX', year='2009', newID='B'}