我正在迭代以这种方式出现的arraylist
elamentData=Object[10]
[0]= Object[2]
[0]="AAA"
[1]="111"
[1] = Object[2]
[0]="BBB"
[1]="222"
所以我进一步以下面的方式存储所有内容,这些内容都在结果列表arraylist
中List<String> resultList = new ArrayList<String>();
List<Object[]> listObj = (List<Object[]>)query.getResultList();
for(Object[] obj: listObj){
for (Object o : obj) {
resultList.add(String.valueOf(o));
}
}
return resultList;
现在在程序的其他部分我必须以
的方式迭代这个resultListString Product; 字符串价格;
Product = "AAA" //In first iteration
Price= "111"
然后在第二次迭代
Product = "BBB" //In first iteration
Price= "222"
所以我必须以这种方式迭代,以便在每次迭代时我都可以迭代产品和价格,所以请告知如何实现这一目标
答案 0 :(得分:0)
您可以创建包含Product
和name
price
public class Product {
private String name;
private String price; // maybe this should be a number
public Product(String name, String price) {
this.name = name;
this.price = price;
}
public String getName() {
return this.name;
}
public String getPrice() {
return this.price;
}
}
然后,您可以使用List<String>
List<Product>
中
List<Produc> resultList = new ArrayList<>();
List<Object[]> listObj = (List<Object[]>)query.getResultList();
for(Object[] obj: listObj){
String name = String.valueOf(obj[0]);
String price = String.valueOf(obj[1]);
resultList.add(new Product(name, price);
}
return resultList;
}
然后,当您需要遍历列表时,您可以执行以下操作:
for(Product prod : resultList) {
System.out.printf("Name = %s, Price = %s%n", prod.getName(), prod.getPrice());
}