ArrayList和HashMap的默认大小及扩展机制

Answered using GPT-4o-mini by Java Q&A Hub

Question:

ArrayList和HashMap默认大小?

Answer:

在Java中,ArrayListHashMap的默认大小如下:

  1. ArrayList:

    • ArrayList的默认初始容量是10。这意味着当你创建一个新的ArrayList实例时,它会分配一个大小为10的数组来存储元素。如果添加的元素超过这个容量,ArrayList会自动扩展其容量,通常是将容量增加到原来的1.5倍。
    ArrayList<String> list = new ArrayList<>(); // 默认容量为10
    
  2. HashMap:

    • HashMap的默认初始容量是16,负载因子是0.75。这意味着当你创建一个新的HashMap实例时,它会分配一个大小为16的桶数组,并且在达到75%的负载(即12个元素)时,会进行扩容,通常是将容量翻倍。
    HashMap<String, String> map = new HashMap<>(); // 默认容量为16,负载因子为0.75
    

了解这些默认值可以帮助你在创建集合时更好地管理内存和性能,尤其是在你知道将要存储的元素数量时,可以考虑使用带参数的构造函数来指定初始容量。