我有一个 List<Computer>
。每台计算机都有一个CPU列表和一个主机名。
假设我有:
List<Computer> computers
我可以调用。
List<CPU> CPUs = computer.getCPUs();
而且我可以调用
String hostname = computer.getHostName();
我希望通过使用流,获得一个包含CPU作为键和主机名作为字符串的映射表。在同一台计算机内相同的CPU将复制主机名。
我该怎么做呢?
Java8之前的代码如下:
public Map<CPU, String> getMapping(List<Computer> computers) {
Map<CPU, String> result = new HashMap<>();
for (Computer computer : computers) {
for (CPU cpu : computer.getCPUs()) {
result.put(cpu, computer.getHostname());
}
}
return result;
}
computer
和computers
之间的关系是什么?如果您希望您的问题得到回答,请添加一些使用 pre-Java 8 代码来完成您的任务。 “computer” 表示单个计算机,而“computers” 表示多台计算机。 以下是一个 pre-Java 8 的代码示例,用于将字符串数组转换为大写形式:String[] words = {"computer", "programming", "language"}; for (int i = 0; i < words.length; i++) { words[i] = words[i].toUpperCase(); }
- PM 77-1