java如何从对象列表中获取字符串属性数组
如何从只有唯一值的List<Book>
中获取类别String
数组
我试着用stream,但我错过了一些东西
class Book {
int id;
String[] categories;
// getters and setters
}
List<Book> books = Arrays.asList(
new Book(1,{"Java" , "Computers"}),
new Book(1,{"Python" , "C++" }),
new Book(1,{"Java" , "IT"})
);
books.stream().map(VolumeInfo::getCategories).toArray(String[]::new);
# 1 楼答案
您可以调用^{} 以仅获取唯一值。但是,由于
getCategories
返回一个String[]
,因此需要flatMap
来获得一个String[]
结果:这将产生
Array
: