在Java中,capacity通常用于指定集合類(如ArrayList、HashMap等)的初始容量大小。容量是指集合能夠容納的元素?cái)?shù)量上限,而不是當(dāng)前集合中實(shí)際包含的元素?cái)?shù)量。
當(dāng)創(chuàng)建一個(gè)集合對(duì)象時(shí),可以通過(guò)指定初始容量來(lái)提高集合的性能。如果預(yù)先知道集合大概會(huì)包含多少元素,可以使用capacity參數(shù)來(lái)初始化集合的容量,這樣可以減少集合內(nèi)部重新分配空間的次數(shù),提高插入和查找元素的效率。
例如,創(chuàng)建一個(gè)ArrayList時(shí)可以使用指定容量的構(gòu)造函數(shù):
ArrayList<String> list = new ArrayList<>(10);
這樣,ArrayList會(huì)預(yù)先分配能夠容納10個(gè)元素的空間,當(dāng)元素?cái)?shù)量超過(guò)10時(shí),ArrayList會(huì)根據(jù)需要自動(dòng)擴(kuò)容。
需要注意的是,capacity并不會(huì)限制實(shí)際存儲(chǔ)在集合中的元素?cái)?shù)量,只是為了提高性能而預(yù)先分配一定的空間。如果集合中的元素?cái)?shù)量超過(guò)了capacity,集合會(huì)自動(dòng)擴(kuò)容以容納更多的元素。