java8写一个通过读配置文件中的条件,将List中满足全部条件的数据skip掉的共通代码
时间: 2024-05-09 12:21:09 浏览: 100
java读取配置文件的实例代码
以下是通过读取配置文件中的条件,将List中满足全部条件的数据skip掉的Java 8代码示例:
```
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Properties;
import java.util.stream.Collectors;
public class SkipListByConfig {
public static void main(String[] args) throws IOException {
List<String> list = Arrays.asList("apple", "banana", "orange", "kiwi", "grape");
String configFilePath = "config.properties";
Properties props = new Properties();
try (InputStream input = new FileInputStream(configFilePath)) {
props.load(input);
}
List<String> skipConditions = props.entrySet().stream()
.filter(e -> e.getKey().toString().startsWith("skip."))
.map(e -> e.getValue().toString())
.collect(Collectors.toList());
List<String> filteredList = list.stream()
.filter(item -> skipConditions.stream()
.noneMatch(condition -> item.contains(condition)))
.collect(Collectors.toList());
System.out.println(filteredList);
}
}
```
在这个示例中,我们使用了Java 8的Stream API,首先读取了配置文件中以“skip.”开头的所有属性值作为skip条件,然后使用noneMatch方法,检查每个元素是否包含任何一个skip条件,如果不包含,则保留该元素,最后返回新的过滤后的列表。
阅读全文