有10个区域然后还要按照类型区分,需要建很多个list。怎么缩减?Java
时间: 2024-03-08 14:48:29 浏览: 16
如果你需要在Java中创建多个List,而且还需要按照类型区分,你可以考虑使用Java 8引入的Stream API和Lambda表达式来简化你的代码。你可以对原始数据进行分组操作,然后将每个分组的数据收集到对应的List中。下面是一个使用Stream API和Lambda表达式创建多个List并按照类型区分的示例代码:
```java
import java.util.*;
import java.util.stream.*;
public class Example {
public static void main(String[] args) {
List<Item> items = Arrays.asList(
new Item("A", "Type1"),
new Item("B", "Type2"),
new Item("C", "Type1"),
new Item("D", "Type2"),
new Item("E", "Type3"),
new Item("F", "Type1"),
new Item("G", "Type2"),
new Item("H", "Type3"),
new Item("I", "Type1"),
new Item("J", "Type2")
);
Map<String, List<Item>> itemsByType = items.stream()
.collect(Collectors.groupingBy(Item::getType));
List<Item> type1Items = itemsByType.get("Type1");
List<Item> type2Items = itemsByType.get("Type2");
List<Item> type3Items = itemsByType.get("Type3");
System.out.println("Type 1 items: " + type1Items);
System.out.println("Type 2 items: " + type2Items);
System.out.println("Type 3 items: " + type3Items);
}
}
class Item {
private String name;
private String type;
public Item(String name, String type) {
this.name = name;
this.type = type;
}
public String getName() {
return name;
}
public String getType() {
return type;
}
public String toString() {
return name;
}
}
```
在这个示例代码中,我们首先创建了一个包含10个Item对象的List,每个Item对象包含一个名称和一个类型。然后,我们使用Stream API和Lambda表达式将这些Item对象按照类型分组,并将分组后的数据收集到对应的List中。最后,我们打印了每个类型的Item对象,以确保它们包含了正确的元素。
使用Stream API和Lambda表达式可以使代码更加简洁、易读,并且可以大大缩减代码量。使用分组操作可以避免创建大量的List,从而使代码更加简洁。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![text/x-c++](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)