retainall的问题

来源:互联网 发布:南昌淘宝学校在哪里 编辑:程序博客网 时间:2024/06/05 20:21

在调用java中的retainall时遇到个问题,

代码如下:

public static ArrayList<Integer> res_and(ArrayList<Integer> s1,ArrayList<Integer> s2){s1.retainAll(s2);//System.out.println("s1=");//System.out.println(s1);return s1;

我定义了一个函数,用来求出s1s2共有的部分,将其保存在s1中。

但是貌似这么写会导致s1中重复元素会重复出现两次。

解决办法:在返回前加上一句 

s1  = new ArrayList<Integer>(new HashSet<Integer>(s1));

即可。
原创粉丝点击