需求是 有一个Map集合 ,然后在数据库中查询出来的数据对象的某个字段对比,看数据查询出来的对象集合中的对象字段是否完全包含了Map中的key值,下面模拟一下
public static void main(String args[]) {
// map集合数据
Map<String,String> map =new HashMap();
map.put("a","c");
map.put("b","d");
map.put("c","f");
map.put("g","1");
/** 获取map集合key的set集合 */
Set<String> seta = map.keySet();
System.out.println(seta+"***************");
/** list的中的对象中的字段 遍历这个list把对应的字段加入到下面的set中 这里省略不写了,直接新建一个set集合来模拟*/
Set<String> setb = new HashSet<>();
setb.add("a");
setb.add("b");
setb.add("c");
setb.add("d");
/** 两个set集合的对比 就是用seta 移除 setb,这样 seta中被setb包含的就会被移除,完全移除了seta数量会是0,否自有剩余 */
seta.removeAll(setb);
System.out.println(seta+"***************");
}
上面的例子中seta比setb多了一个g所以最后输出是一个g,这样就达到了我的要求了。