java 使用6个属性值分组list数组对象
时间: 2023-11-27 13:53:47 浏览: 82
您可以使用Java 8中的Stream API和Collectors.groupingBy()方法将List对象分组成具有6个属性值的数组对象。例如,假设您有一个名为Person的类,该类具有6个属性值:name、age、gender、occupation、city和country,您可以使用以下代码将List<Person>分组为数组对象:
```java
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Person {
private String name;
private int age;
private String gender;
private String occupation;
private String city;
private String country;
// constructor, getters and setters
public static void main(String[] args) {
List<Person> persons = /* your list of persons */;
Map<String, List<Person>> groupedPersons = persons.stream()
.collect(Collectors.groupingBy(p -> p.getName() + p.getAge() + p.getGender() + p.getOccupation() + p.getCity() + p.getCountry()));
Person[][] personsArray = new Person[groupedPersons.size()][6];
int i = 0;
for (List<Person> group : groupedPersons.values()) {
for (int j = 0; j < group.size(); j++) {
personsArray[i][j] = group.get(j);
}
i++;
}
}
}
```
这将生成一个名为`personsArray`的二维数组,其中每个数组都有6个元素,每个元素都是一个类型为Person的对象。每个数组表示一个分组,其中包含具有相同属性值的Person对象。
阅读全文