现将两个榜单中的影片名,分别按排名顺序依次存入两个ArrayList集合 2、通过流的方式 1)打印全球影片排行榜中的前三甲影片名 2)打印华人影片排行榜中倒数5名的影片名 3)将两个排行榜中的前5名挑出来共同存入新的集合 4)定义电影Film类,以影片名为name创建Film对象并保存至集合
时间: 2024-04-11 22:26:58 浏览: 92
好的,你想要将两个榜单中的影片名分别按排名顺序存入两个ArrayList集合,并进行一些操作。以下是实现这些功能的示例代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
class Film {
private String name;
public Film(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
public class Main {
public static void main(String[] args) {
// 创建全球影片排行榜的影片名列表
List<String> globalRanking = new ArrayList<>();
globalRanking.add("Film A");
globalRanking.add("Film B");
globalRanking.add("Film C");
// 添加更多影片名...
// 创建华人影片排行榜的影片名列表
List<String> chineseRanking = new ArrayList<>();
chineseRanking.add("Film X");
chineseRanking.add("Film Y");
chineseRanking.add("Film Z");
// 添加更多影片名...
// 打印全球影片排行榜中的前三甲影片名
List<String> topThreeGlobalFilms = globalRanking.stream().limit(3).collect(Collectors.toList());
System.out.println("全球影片排行榜前三甲影片名:");
for (String filmName : topThreeGlobalFilms) {
System.out.println(filmName);
}
// 打印华人影片排行榜中倒数5名的影片名
List<String> lastFiveChineseFilms = chineseRanking.stream()
.skip(Math.max(0, chineseRanking.size() - 5))
.collect(Collectors.toList());
System.out.println("华人影片排行榜倒数5名影片名:");
for (String filmName : lastFiveChineseFilms) {
System.out.println(filmName);
}
// 将两个排行榜中的前5名挑出来共同存入新的集合
List<String> topFiveFilms = new ArrayList<>();
topFiveFilms.addAll(globalRanking.stream().limit(5).collect(Collectors.toList()));
topFiveFilms.addAll(chineseRanking.stream().limit(5).collect(Collectors.toList()));
System.out.println("前5名影片名合集:");
for (String filmName : topFiveFilms) {
System.out.println(filmName);
}
// 定义电影Film类,以影片名为name创建Film对象并保存至集合
List<Film> filmList = new ArrayList<>();
filmList.addAll(globalRanking.stream().map(Film::new).collect(Collectors.toList()));
filmList.addAll(chineseRanking.stream().map(Film::new).collect(Collectors.toList()));
}
}
```
这段代码演示了如何使用流(Stream)方式对集合进行处理,实现了你提出的功能。请根据你的实际需求进行修改和扩展。
阅读全文