前言
有时候在面试的过程中会被问及数组元素的比较,获取相同的元素和不同的元素。
一、获取相同的元素
将数组存放到Set集合中,首先排除掉相同的元素,然后进行元素的比较。
static Set<Integer> getSameElement(Integer[] aEle, Integer[] bEle) {
//sameElement:最后返回的相同的元素
Set<Integer> sameElement = new HashSet<>();
//tempElement:临时存放的元素(aEle or bEle)
Set<Integer> tempElement = new HashSet<>();
//将aEle放到集合中
Collections.addAll(tempElement, aEle);
//判断bEle中的元素是否存在于tempElement
for (Integer ele : bEle) {
if (tempElement.contains(ele)) {
sameElement.add(ele);
}
}
return sameElement;
}
二、获取不同的元素
相同的道理,还是将数组放到Set集合中,然后进行元素的比较。
static Set<Integer> getDiffElement(Integer[] aEle, Integer[] bEle) {
//sameElement:最后返回的相同的元素
Set<Integer> diffElement = new HashSet<>();
//tempElement:临时存放的元素(aEle or bEle)
Set<Integer> tempElement = new HashSet<>();
//将aEle放到集合中
Collections.addAll(tempElement, aEle);
//判断bEle中的元素是否存在于tempElement
for (Integer ele : bEle) {
if (!tempElement.contains(ele)) {
diffElement.add(ele);
}
}
return diffElement;
}
三、Demo的地址
GitHub的地址:https://github.com/i-kang/CompareElement