Java中的集合类扩容问题示例
在Java中,集合类(如ArrayList、LinkedList等)的扩容通常是动态进行的。当元素数量超过当前存储空间时,会触发扩容操作。
以下是一个简单的示例,展示了ArrayList扩容的问题:
import java.util.ArrayList;
public class CollectionResizeExample {
public static void main(String[] args) {
// 创建一个容量为5的ArrayList
ArrayList<String> list = new ArrayList<>(Arrays.asList("A", "B", "C", "D")));
// 当元素数量超过5时,会触发扩容
list.add("E"); // 添加第六个元素
System.out.println("原ArrayList容量: 5");
System.out.println("实际添加的元素数量: 6");
// 打印扩容后的ArrayList
System.out.println("扩容后ArrayList容量: " + list.size());
}
}
在这个示例中,我们创建了一个初始容量为5的ArrayList。然后,我们向列表中添加了6个元素(包括初始的5个),这超过了列表的原容量。
由于Java集合类会自动扩容以容纳更多的元素,因此在上述例子中,你会看到ArrayList的容量被扩展到了6,以适应添加的元素。
还没有评论,来说两句吧...