[英]Rewrite Imperative For Loop With Declarative Approach using Java Stream API
[英]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);
來,試試這個。
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.