使用lambda表达式循环List<String>
时间: 2023-11-11 16:15:45 浏览: 228
可以使用 Java 8 中的 Lambda 表达式和 Stream API 对 List<String> 进行循环遍历。以下是示例代码:
```
List<String> list = Arrays.asList("apple", "banana", "orange");
list.forEach(str -> {
System.out.println(str);
});
```
在上述代码中,使用 `forEach()` 方法对 List 中的每个元素进行遍历,Lambda 表达式 `str -> { System.out.println(str); }` 表示打印每个元素的值。
相关问题
Java使用Lambda表达式将List<List<String>>转为List<String>
可以使用flatMap方法将List<List<String>>转为List<String>,Lambda表达式如下:
List<List<String>> list = new ArrayList<>();
List<String> result = list.stream()
.flatMap(Collection::stream)
.collect(Collectors.toList());
java 一个List<String>集合 和 一个 List<JSONObject>集合 ,求 List<JSONObject>集合中 JSONObject包含 List<String>里的String,用 lambda 表达式处理
可以使用Lambda表达式中的filter()方法和anyMatch()方法来实现这个需求。
假设有两个集合,一个是List<String> stringList,另一个是List<JSONObject> jsonObjectList,现在需要找到jsonObjectList中所有包含stringList中字符串的JSONObject对象。
代码如下:
```java
List<JSONObject> resultList = jsonObjectList.stream()
.filter(jsonObject -> stringList.stream()
.anyMatch(s -> jsonObject.toString().contains(s)))
.collect(Collectors.toList());
```
首先使用stream()方法将jsonObjectList转换成Stream对象,然后使用filter()方法过滤出符合条件的JSONObject对象。在filter()方法中,使用anyMatch()方法来判断jsonObject.toString()是否包含stringList中的某个字符串。
最后使用collect()方法将过滤出来的JSONObject对象收集到一个List集合中并返回即可。
需要注意的是,上述代码中的contains()方法是判断字符串是否包含某个子字符串,如果需要判断JSONObject对象中是否存在某个属性,可以使用get()方法获取属性值,然后再使用contains()方法判断即可。
阅读全文