1.应用案例: 集合存储字符串元素,例如: "ldh","guodegang","lyf","gyy","liuyifei" 1.找出集合中以l开头的元素; 2. 找出集合中字符串长度大于5的元素 方式1:使用常规的集合操作求出----循环遍历后判定 方式2:使用lambda表达式来操作----提示:断言型接口
时间: 2023-07-19 19:09:20 浏览: 87
对于第一个问题,可以使用lambda表达式来筛选出以l开头的元素:
```
Set<String> set = new HashSet<>(Arrays.asList("ldh", "guodegang", "lyf", "gyy", "liuyifei"));
set.stream().filter(str -> str.startsWith("l")).forEach(System.out::println);
```
对于第二个问题,同样可以使用lambda表达式,筛选出字符串长度大于5的元素:
```
Set<String> set = new HashSet<>(Arrays.asList("ldh", "guodegang", "lyf", "gyy", "liuyifei"));
set.stream().filter(str -> str.length() > 5).forEach(System.out::println);
```
值得注意的是,这里使用的是Stream API来操作集合,这样的好处是代码更加简洁、易读,同时还可以提高运行效率。
相关问题
1.应用案例: 集合存储字符串元素,例如: "ldh","guodegang","lyf","gyy","liuyifei" 1.找出集合中以l开头的元素; 2. 找出集合中字符串长度大于5的元素使用lambda表达式来操作----提示:断言型接口
好的,针对您的问题,我可以给出以下的回答:
1. 找出集合中以l开头的元素可以使用Java 8的流式编程和过滤器:
```
Set<String> set = new HashSet<>(Arrays.asList("ldh","guodegang","lyf","gyy","liuyifei"));
set.stream().filter(s -> s.startsWith("l")).forEach(System.out::println);
```
这段代码会输出所有以字母"l"开头的字符串元素,即:ldh、lyf、liuyifei。
2. 找出集合中字符串长度大于5的元素可以使用Java 8的流式编程和断言型接口:
```
Set<String> set = new HashSet<>(Arrays.asList("ldh","guodegang","lyf","gyy","liuyifei"));
set.stream().filter(s -> s.length() > 5).forEach(System.out::println);
```
这段代码会输出所有字符串长度大于5的元素,即:guodegang、liuyifei。在这段代码中,我们使用了断言型接口Predicate,它的test()方法会判断字符串长度是否大于5,如果是,则返回true,表示这个元素需要保留,否则返回false,表示这个元素被过滤掉了。
java 1.应用案例: 集合存储字符串元素,例如: "ldh","guodegang","lyf","gyy","liuyifei" 1.找出集合中以l开头的元素; 2. 找出集合中字符串长度大于5的元素 方式1:使用常规的集合操作求出----循环遍历后判定 方式2:使用lambda表达式来操作----提示:断言型接口
可以使用以下代码来解决这个问题:
```java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("ldh");
list.add("guodegang");
list.add("lyf");
list.add("gyy");
list.add("liuyifei");
// 找出以l开头的元素
List<String> startWithL = new ArrayList<>();
for (String str : list) {
if (str.startsWith("l")) {
startWithL.add(str);
}
}
System.out.println("以l开头的元素:" + startWithL);
// 找出字符串长度大于5的元素
List<String> lengthGreaterThan5 = new ArrayList<>();
list.forEach(str -> {
if (str.length() > 5) {
lengthGreaterThan5.add(str);
}
});
System.out.println("长度大于5的元素:" + lengthGreaterThan5);
}
}
```
这里使用了两种方式来解决问题:
- 常规的集合操作:使用循环遍历集合,对每个元素进行判定,将符合条件的元素添加到新的集合中。
- 使用 lambda 表达式:使用 `forEach` 方法遍历集合,使用断言型接口对每个元素进行判定,并将符合条件的元素添加到新的集合中。
阅读全文