簡體   English   中英

使用聲明性方法來移動 ArrayList 元素,而不是使用循環

[英]Use declarative approach to shift ArrayList elements instead of using a loop

您能否指出一種在不使用 for 循環的情況下移動下面列表元素的方法? 請注意,列表的第一個元素不受所執行操作的影響。 從 [2, 3, 4, 5] 列表將變為 [2, 2, 3, 4]

List<BigDecimal> items = Arrays.asList(new BigDecimal(2), new BigDecimal(3), new BigDecimal(4), new BigDecimal(5));
for (int i = items.size() - 1; i >= 1; i--) {
    items.set(i, items.get(i - 1));
}

您可以使用以下單線來做到這一點:

(items = Arrays.asList(items.get(0))).addAll(items);

來,試試這個。

  • 需要 subList 方法。 (新的 ArrayList<>() 調用的原因)
  • 向左旋轉 1 個項目。
        List<BigDecimal> items = new ArrayList<>(
                Arrays.asList(new BigDecimal(2), new BigDecimal(3),
                        new BigDecimal(4), new BigDecimal(5)));
        List<BigDecimal> list = items.subList(1, items.size());
        list.add(items.get(0));
        System.out.println(list);

印刷

[3, 4, 5, 2]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM