java 怎样把list中相同的数据找出来

 我来答
一数一道
2015-06-24 · TA获得超过1751个赞
知道小有建树答主
回答量:369
采纳率:75%
帮助的人:217万
展开全部

  依次处理list的元素list[i],用dup装去重元素,mul装重复元素。先检查dup是否包含元素list[i],如果包含则加入mul中。如果没有则加入dup中。最后mul中就是重复数据,dup中就是去掉重复元素的列表。下面是一个实例,首先生成一个列表list,然后找出重复元素。

public class Duplication
{
    public static void main(String[] args)
    {
        List<Integer> list = new ArrayList<Integer>();
        for(int i = 1;i <= 10;i++)
        {
            if(i%3 == 0) continue;
            if(i%2 == 0)
            {
                list.add(i);
                list.add(i);
            }
            else
                list.add(i);
        }
        System.out.println(list);
        
        List<Integer> dup = new ArrayList<Integer>();
        List<Integer> mul = new ArrayList<Integer>();
        for(int a:list)
        {
            if(dup.contains(a))
                mul.add(a);
            else dup.add(a);
        }
        System.out.println(dup);
        System.out.println(mul);
    }
}
冰火两重天
2014-02-19 · TA获得超过1425个赞
知道小有建树答主
回答量:1489
采纳率:0%
帮助的人:994万
展开全部
// 初始化list
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(21);
list.add(1);
list.add(3);
list.add(3);
list.add(3);

// set中存放的是不可重复的元素
HashSet<Integer> set = new HashSet<Integer>();
// 这里存放的是所有重复的元素,如果你只想知道是哪几个数字重复了,不需要知道具体重复了几次,可以用HashSet
List<Integer> repeatElements = new ArrayList<Integer>();

for (int i=0;i<list.size();i++) {
int value = list.get(i);

if (set.contains(value)) {
// 重复元素
repeatElements.add(value);
}
else {
set.add(value);
}
}

// 输出重复的元素
for (int i=0;i<repeatElements.size();i++) {
System.out.println(repeatElements.get(i));
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
super_wheat
2019-09-29
知道答主
回答量:21
采纳率:0%
帮助的人:6815
展开全部
java8新特性Stream可以处理:
list.stream().filter(i -> list.stream().filter(i::equals).count()>1).collect(Collectors.toSet());
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
瘦子在此
2020-08-19
知道答主
回答量:1
采纳率:0%
帮助的人:585
展开全部
Set<String> chnCodes = new HashSet<>();
Set<String> dupCodes = new HashSet<>();
codes.stream().forEach(code-> {
if (chnCodes.contains(code)) {
dupCodes.add(chnCode);
} else {
chnCodes.add(code);
}
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ccc000150
2014-02-19
知道答主
回答量:20
采纳率:0%
帮助的人:12.7万
展开全部
上面有一个筛选按钮,你上百度查查,筛选按钮在哪里
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式