取两个集合中的相同元素,并将结果转换为字符串
code
public String GetIntersection(String args1, String args2)
{
String[] arr1 = args1.split(",");
String[] arr2 = args2.split(",");
List<String> list3 = new ArrayList<String>();
HashSet<String> hashSet = new HashSet<String>();
for (String s : Arrays.asList(arr1)) {
hashSet.add(s);
}
for (String s : Arrays.asList(arr2)) {
if(hashSet.add(s)==false){
list3.add(s);
}
}
return StringUtils.join(list3.toArray(),",");
}
args1,args2 是一个带逗号的字符串,eg: 5,6,7。先将字符串转换为数组,再转为集合,当然你也可以直接是集合,我的仅是我代码的需要。将第一个集合中的元素依次添加到set集合中,再将第二个集合遍历添加到set中,因为set元素唯一,因此添加不进去的元素就是两个集合共有的元素,将此元素添加的新建的集合中就好了。