JAVA中如何判断List<Person>中自定义泛型的值不重复添加
发布网友
发布时间:2024-09-09 15:55
我来回答
共4个回答
热心网友
时间:2024-11-14 22:25
要保证每个Person中的三个属性字段必须是唯一的?
如果真是这种需求的话,你可以这样做:用另一个Map来保存已经添加了的唯一值
像这样
list用来保存Person对象
map用来保存唯一值
如果是id必须唯一,那么每次在list.add之前把id放到map中去作为key值,
以后每次在list添加之前都判断一下map中是否有这个key值,如果有就不允许添加,没有就添加
如果三个属性字段全是唯一的话,可以把三个属性字段用“,”好拼接起来
像这样id+","+name+","+address,
然后把这个字符串作为唯一值放到map中去。
然后每次list添加之前判断map中是否有这个key值
这样就能保证list中保存的所有Person对象的属性唯一
热心网友
时间:2024-11-14 22:26
用Set吧。set是是无序不重复的。如果用Person的话,你需要进行比较的。
热心网友
时间:2024-11-14 22:26
直接使用list是没法做到的。
可以 使用map ,然后需要Person重写 equals和hashCode方法。
热心网友
时间:2024-11-14 22:27
你在添加的时候一定是以Person的实例进行添加的,为什么会重复添加呢?
如果重复添加的话,你可以在添加之前循环遍历一下追问怎么才能不以Person的实例添加呢?
追答你用是
List泛型向list添加数据,当然是以Person的实例进行添加了啊
邓明和汪意平说的也不错