有这样一个场景,我获取所有包名,现在要给它建立一个黑名单,黑名单里面的内容要过滤掉
/**
* 从 mAllList 中去除所有 mSubList 中与之重复的元素
* @param mAllList
* @param mSubList
* @return
*/
public static ListgetFilterList(ListmAllList, ListmSubList) {
//第一步:构建mAllList的HashMap
//将mAllList中的元素作为键,如果不是String类,需要实现hashCode和equals方法
//将mAllList中的元素对应的位置作为值
Mapmap = new HashMap<>();
for (int i = 0; i < mAllList.size(); i++) {
map.put(mAllList.get(i), i);
}
//第二步:利用map遍历mSubList,查找重复元素
//把mAllList中所有查到的重复元素的位置置空
for (int i = 0; i < mSubList.size(); i++) {
Integer pos = map.get(mSubList.get(i));
if (pos == null) {
continue;
}
mAllList.set(pos, null);
}
//