假设我有课程:
class Product {
int pId;
String pName;
int pPrice;
}
我有Arraylist<Product>
,因此我可以在不包含循环的情况下获得仅包含产品名称的ArrayList<String>
。
借助游标或集合工具或android中的任何其他东西来说。
答案 0 :(得分:1)
在 Java 8 中,您可以在产品列表中使用stream
和map
功能。
假设你有:
List<Product> productList = new ArrayList<Product>();
productList.add(new Product(1, "test", 100));
productList.add(new Product(1, "test2", 100));
您可以使用此方法将其映射到List<String>
:
List<String> productNames = productList.parallelStream()
.map(Product::getPName)
.collect(toList());
修改强>
答案 1 :(得分:0)
这种方式可能会有所帮助:
class Product {
int pId;
String pName;
int pPrice;
}
List<Product> products = new ArrayList<>();
// add products
List<String> names = new AbstractList<String>() {
@Override
public String get(int location) {
return products.get(location).pName;
}
@Override
public int size() {
return products.size();
}
}