2016-07-23 80 views
0

例如另一份名單,有兩個列表插入一個列表到位置

List<String> goods = new ArrayList<String>(); 
goods.add("Vegetables"); 
goods.add("Foods"); 
goods.add("Drinks"); 

List<String> foods = new ArrayList<String>(); 
foods.add("Beef"); 
foods.add("Chicken"); 

什麼是插入食物轉變成商品進入Foods即位置到1個位置的內容替換Food的最佳方式foods

這樣goods將包含:

蔬菜,牛肉,雞肉,飲料

回答

1

您可以使用List.addAll(),但你也做插入後刪除Foods條目。

goods.remove("Foods"); // remove by object (String name) 
goods.addAll(1, foods); 

documentationList.addAll(int index, Collection c)

插入所有指定集合中的元素插入此列表,從指定的位置。將當前在該位置的元素(如果有的話)和隨後的元素移到右側(增加它們的索引)。

+0

這可以進一步改善。數字1是一個魔術字符串。這似乎意圖是「食品」的任何位置。因此,最好有3個步驟:找到「食品」的索引,按索引刪除,全部索引 – janos

+0

@janos你說得對,那個答案可以要改善,但我認爲相反,因爲問題本身就是關於立場的。因此元素_Foods_就是具體例子中的魔法。我建議直接刪除給定的索引。 – irieill

+0

@irieill這也是一種可能性。我是這麼想的,因爲我們用一個名爲「食物」的名單來替換名爲「食物」的物品。只有OP知道真相;) – janos

相關問題