假设我有一个包含两个字段的对象列表field1
and field2
,都是String类型。
我如何获得所有的列表field1
如果可能的话,无需迭代列表即可值?
幸运的是,您可以使用以下方法来做到这一点Java 8 - 流 https://www.tutorialspoint.com/java8/java8_streams.htm
假设您有一个名为你的实体
public class YourEntity {
private String field1;
private String field2;
public YourEntity(String field1, String field2) {
this.field1 = field1;
this.field2 = field2;
}
public void setField1(String field1) {
this.field1 = field1;
}
public void setField2(String field2) {
this.field2 = field2;
}
public String getField1() {
return field1;
}
public String getField2() {
return field2;
}
}
宣布你的名单你的实体 using:
List<YourEntity> entities = Arrays.asList(new YourEntity("text1", "text2"), new YourEntity("text3", "text4"));
您可以提取以下列表field1以这种方式一次性:
import java.util.stream.Collectors;
List<String> field1List = entities.stream().map(YourEntity::getField1).collect(Collectors.toList());
或者这样
import java.util.stream.Collectors;
List<String> field1List = entities.stream().map(urEntity -> urEntity.getField1()).collect(Collectors.toList());
您还可以使用 java 8 打印所有项目:)
field1List.forEach(System.out::println);
Output
text1
text3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)