1.应用案例: 集合存储字符串元素,例如: "ldh","guodegang","lyf","gyy","liuyifei" 1.找出集合中以l开头的元素; 2. 找出集合中字符串长度大于5的元素使用lambda表达式来操作----提示:断言型接口
时间: 2023-07-07 10:10:51 浏览: 46
好的,针对您的问题,我可以给出以下的回答:
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` 方法遍历集合,使用断言型接口对每个元素进行判定,并将符合条件的元素添加到新的集合中。
love(zxy,wf). love(zxy,zhm). love(wf,xtf). love(zhm,zxy). love(xtf,wf). love(xtf,zhm). love(ldh,zhm). lovers(X,Y):-love(X,Y),love(Y,X). 写出下列答案 (1) ?love(zxy,ldh).(2) ?love(zxy,X).(3) ? lovers(X,Y).
(1) false. 因为没有规定zxy和ldh之间是否有爱情关系。
(2) X = wf; X = zhm. 因为zxy爱wf和zhm。
(3) X = zxy, Y = wf; X = wf, Y = xtf; X = zhm, Y = zxy; X = xtf, Y = wf; X = zhm, Y = xtf; X = zhm, Y = ldh。因为符合lovers谓词的条件是两个人之间相互有爱情关系,所以可以得到以上六组解。