优化代码 return simObjList.stream() .filter(o -> !tableNameWithColumnNameList.contains(o.getTableName() + PqlConst.COLUMN_SPLIT + o.getColumn().getTitle())) .collect(Collectors.toList());
时间: 2024-03-21 21:38:28 浏览: 75
Android 中自定义ContentProvider与ContentObserver的使用简单实例
这段代码可以进一步优化。可以考虑将 `tableNameWithColumnNameList` 转换为 Set,这样可以提高 `contains` 方法的查找速度。另外,在 lambda 中使用 `+` 运算符拼接字符串会创建大量的临时对象,可以改为使用 `String.join` 方法。优化后的代码如下所示:
```
Set<String> tableNameWithColumnNameSet = new HashSet<>(tableNameWithColumnNameList);
return simObjList.stream()
.filter(o -> !tableNameWithColumnNameSet.contains(String.join(PqlConst.COLUMN_SPLIT, o.getTableName(), o.getColumn().getTitle())))
.collect(Collectors.toList());
```
阅读全文