
List<String>list=new ArrayList<String>()
list.add("abc")
.....
if(list.contains("jkf")) //如果集合中有"jkf",则返回true
如果是要剔除重复数据,加入Set中,会自动剔除重复数据。
怎么判断 list里的值是否相同?分别比较两个List集合的哈希地址、NULL判断,长度判断、和内容判断;但有一点特别显眼:集合中的元素必须重写equals方法自行判断元素是否相同
原因:containsAll方法的逻辑是逐个contains,而contains的包含逻辑是equals判断;如果集合中的元素没有重写equals方法,那么即使你的元素完全相同,比较的也是不准确。
方法一:将元素用Set.add()方法逐一插入到一个Set中,观察add()方法的返回值,如果返回false说明当前元素重复。元素所属的类需要重写equals()和hashCode()方法。方法二:将所有元素复制到一个新List中并用List.sort()方法排序,然后遍历该List检查相邻每两个元素是否重复。元素所属的类必须实现Comparable接口。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)