溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java數(shù)組動(dòng)態(tài)擴(kuò)容方法

發(fā)布時(shí)間:2024-09-25 18:00:20 來源:億速云 閱讀:78 作者:小樊 欄目:編程語言

在Java中,數(shù)組是固定大小的,不能直接改變其大小。但是,我們可以使用ArrayList來實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)容的功能。ArrayList是基于數(shù)組實(shí)現(xiàn)的,其內(nèi)部會(huì)維護(hù)一個(gè)數(shù)組,當(dāng)數(shù)組容量不足時(shí),ArrayList會(huì)自動(dòng)擴(kuò)容。

以下是ArrayList動(dòng)態(tài)擴(kuò)容的方法:

  1. 導(dǎo)入java.util.ArrayList類。
import java.util.ArrayList;
  1. 創(chuàng)建一個(gè)ArrayList對(duì)象。
ArrayList<Object> list = new ArrayList<>();
  1. 使用add()方法向ArrayList中添加元素。當(dāng)數(shù)組容量不足時(shí),ArrayList會(huì)自動(dòng)擴(kuò)容。
for (int i = 0; i < 10; i++) {
    list.add(i);
}
  1. 如果你想查看ArrayList的當(dāng)前容量和擴(kuò)容閾值,可以使用size()capacity()方法。
System.out.println("Current size: " + list.size());
System.out.println("Current capacity: " + list.capacity());
  1. 如果你想手動(dòng)擴(kuò)容ArrayList,可以使用ensureCapacity()方法。這個(gè)方法接受一個(gè)整數(shù)參數(shù),表示新的最小容量。如果新的最小容量大于當(dāng)前容量,ArrayList將被擴(kuò)容。
list.ensureCapacity(20);
System.out.println("New capacity: " + list.capacity());

需要注意的是,ArrayList的擴(kuò)容策略并不是每次擴(kuò)容都翻倍,而是按照一定的比例進(jìn)行擴(kuò)容。具體擴(kuò)容策略如下:

  • 當(dāng)數(shù)組容量小于10時(shí),擴(kuò)容為原容量的2倍。
  • 當(dāng)數(shù)組容量大于等于10時(shí),擴(kuò)容為原容量的1.5倍加2。
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI