java中list集合存放10个属性值一样的对象,代码怎么写
时间: 2024-05-22 11:14:10 浏览: 7
你好!以下是回答:
List<MyObject> myObjectList = new ArrayList<MyObject>();
MyObject myObject = new MyObject();
myObject.setProperty1(value1);
myObject.setProperty2(value2);
//set the other properties
myObjectList.add(myObject);
// repeat the above steps to add more objects to the list.
相关问题
java8新特性中如何遍历集合对象,获取到对象中的属性值
可以使用Lambda表达式和Stream操作来实现。例如:
List<Person> personList = new ArrayList<>();
personList.add(new Person("Tom", 18));
personList.add(new Person("Jerry", 20));
personList.stream().forEach(person -> System.out.println(person.getName()));
这段代码可以遍历personList集合中的每个Person对象,并输出每个对象的name属性值。
如果要获取属性集合,可以使用map()方法:
List<String> nameList = personList.stream().map(person -> person.getName()).collect(Collectors.toList());
这段代码可以获取personList集合中每个Person对象的name属性值,并将它们存放到一个新的集合nameList中。
有一个存放了对象的list集合,对象中有个BigDecimal类型的属性,获取list中BigDecimal类型属性的最大值
可以使用Java 8的流式API来实现:
```
List<MyObject> myList = ...; // 假设这是存放了对象的list集合
Optional<BigDecimal> maxBigDecimal = myList.stream()
.map(MyObject::getBigDecimalProperty) // 获取BigDecimal类型属性的流
.max(BigDecimal::compareTo); // 获取最大值
if (maxBigDecimal.isPresent()) {
BigDecimal max = maxBigDecimal.get();
// 处理最大值
} else {
// 处理list为空的情况
}
```
其中,`MyObject`是存放在list中的对象类,`getBigDecimalProperty()`是获取BigDecimal类型属性的方法。`maxBigDecimal`是`Optional`类型,如果list为空,则其为`empty`,否则其为最大值的`Optional`。最后,可以使用`isPresent()`方法来判断是否有最大值,如果有的话,可以使用`get()`方法来获取最大值。