2

I'm trying to add data into array list. in this result

[{Store={id_store=2, namestore=Kupat Tahu Singaparna , product=[{id_product=1, price=100000, quantity=1}]}}]

you could use this code:

static ArrayList Storecart = new ArrayList(); 
LinkedHashMap store = new LinkedHashMap();
LinkedHashMap storeitem = new LinkedHashMap();
LinkedHashMap listproduct = new LinkedHashMap();
ArrayList prdct = new ArrayList(); 

storeitem.put("id_store",id_store);
storeitem.put("namestore",namestr ); 
listproduct.put("id_product", id_prodt);
listproduct.put("price",priced); 
listproduct.put("quantity", quantity); 

prdct.add(listproduct); 
storeitem.put("product", prdct);
store.put("Store", storeitem);
Storecart.add(store); 

I need to get the index of an object in the array list. The problem is, I can't looping array list for "get object Store, and object product" and find every index.. what will be the best & efficient solution ?

4

1 回答 1

1

好吧,您可以使用 List.indexOf(),正如其他人所建议的那样:

Java 列表 API:indexOf()

如果您打算经常这样做,那么大概您已经掌握了对象引用。所以,你可以扩展/包装你想要索引的对象来跟踪它自己的索引。具体来说,您可以根据您第一次遇到它的顺序或其他东西为对象分配其索引。集合中对象的顺序将无关紧要。

我想您也可以使用地图作为另一种可能性。然后只使用 Map 而不是 ArrayList。

底线:如果您正在执行大量“indexOf()”请求,那么 ArrayList 可能不是您数据的最佳容器。

于 2012-12-07T21:07:24.480 回答