使用retainAll方法取交集
@Override public List<SysDictData> selectDictDataByTypes(String dictType) { if (StringUtils.isBlank(dictType)) { return null; } String[] dictTypes = dictType.split(","); List<List<SysDictData>> list = new ArrayList<>(); for (String type : dictTypes) { List<SysDictData> sysDictData = dictDataMapper.selectDictDataByTypes(type); list.add(sysDictData); } if (list.size() == 1){ return list.get(0); } List<SysDictData> sysDictData = list.get(0); for (int i = 1; i < list.size(); i++) { sysDictData.retainAll(list.get(i)); } return sysDictData; }