A generic TList has a Contains method that can be used to detect duplicates. But you have to call it yourself, because there is no Duplicates property, as for TStringList.
If your data can be compared to a binary comparison, you have nothing more to do. Otherwise, you need to provide a custom mapper.
source share