我有一个对象列表,我需要检查对象的特定字段是否唯一。
public class SomeBean {
private String name;
private String value;
}
List<SomeBean> beans = ...
因此,我需要检查所有value
字段和所有name
字段是否都是唯一的(所有值都是唯一的,所有名称都是唯一的)。
显而易见的解决方案是获取List<String> names ...
和List<String> values
的列表并分别检查唯一性,但在我的情况下,此列表可能相当大。由于此列表来自外部,我无法更改初始数据结构。
那么最有效的方法是什么?
感谢。
答案 0 :(得分:0)
删除重复项目的最简单方法是将项目加载到HashSet
,因为Set不允许重复值。您可以使用HashMap<String, SomeBean>
。
或强>
您可以将商品添加到getName() + getValue()
,您可以使用HashMap<String, SomeBean> myMap= new HashMap<>();
myMap.put(someBean.getName() + someBean.getValue(), bean);
...
作为关键字:
OnGlobalFocusChangeListener
答案 1 :(得分:0)
其中一种可能的方法是使用TreeSet
集合。您应该覆盖compareTo()
方法以防止重复项