首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java Collections.copy 方法:目標列表長度必須大於等於源列表

     編輯:程式設計綜合問答

複製行為與前置條件

Collections.copy(dest, src) 將 src 中所有元素覆寫到 dest 對應索引位置,不改變 dest 長度。

規則

  • dest.size() >= src.size(),否則拋出 IndexOutOfBoundsException。
  • 複製後 dest.get(i) == src.get(i) (0 ≤ i < src.size())。
  • dest 中超出 src.size() 的尾部元素保持不變。

示例

List src = Arrays.asList(1,2,3);
List dest = new ArrayList<>(Arrays.asList(0,0,0,0,0)); // size=5
Collections.copy(dest, src);
// dest = [1,2,3,0,0]

常見誤區

  • 以為會追加元素 → 實際是覆寫。
  • 以為會擴容 dest → 不會,需預先確保容量。

若需合併列表,請使用 dest.addAll(src)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved