/**
* 借助Map来获取listA、listB的不同元素集合
*
* @param listA 集合A
* @param listB 集合B
* @return list<String>
*/
public static List<String> getDifferListByMap(List<String> listA, List<String> listB) {
System.out.println("数量级为 " + listA.size() + "集合的不同元素为");
List<String> differList = new ArrayList<>();
Map<String, Integer> map = new HashMap<>();
long beginTime = System.currentTimeMillis();
for (String strA : listA) {
map.put(strA, 1);
}
for (String strB : listB) {
Integer value = map.get(strB);
if (value != null) {
map.put(strB, ++value);
continue;
}
map.put(strB, 1);
}
for (Map.Entry<String, Integer> entry : map.entrySet()) {
if (entry.getValue() == 1) { //获取不同元素集合
differList.add(entry.getKey());
}
}
traverse(differList);
long endTime = System.currentTimeMillis();
System.out.println("使用map方式遍历, 对比耗时: " + (endTime - beginTime));
return differList;
}
借助Map来获取listA、listB的不同元素集合
最新推荐文章于 2024-07-12 15:51:39 发布