Java 集合擴容概括

參考博文:

java集合的擴容機制_這個名字先用著的博客-CSDN博客

# ArrayList

可隨著元素的增長而自動擴容,正常擴容的話,每次擴容到原來的 1.5倍

# ArrayList 和Vector擴容機制總結:

ArrayList 和Vector,底層都是Object數組,

默認加載因子都是:1(元素滿了才擴展容量).

默認容量都是:10(但是ArrayList 在jdk1.8時默認為空,當添加元素時,才初始化為10個容量。)

ArrayList:新容量為原容量的 1.5倍,Vector:新容量為原容量的 2倍.

# HashSet和HashMap擴容機制總結:

HashSet和HashMap都是默認初始容量是16(jdk1.7的),但是jdk1.8做了優化,初始容量為0,第一次存元素的時候才擴容為16

加載因子是:0.75

擴容為原來的:2倍

# Hashtable

默認初始容量 11

擴容加載因子 0.75(當超出默認長度(int)(11*0.75)=8時,擴容為 oldx2+1新容量為原容量的2倍+1. 【int newCapacity = (oldCapacity << 1) + 1;】

# StringBuilder和StringBuffer

初始容量都是:16 ,程序猿盡量手動設置初始值。以避免多次擴容所帶來的性能問題。

默認數組容量擴充為原數組容量的 2倍+2。

# 沒有擴容機制:

LinkedList:沒有擴容機制,因為其底層是雙向鏈表結構

LinkedHashSet,TreeSet沒有數組的擴容機制。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/37130.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/37130.shtml
英文地址,請注明出處:http://en.pswp.cn/news/37130.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SQL- 每日一題【1327. 列出指定時間段內所有的下單產品】

題目 表: Products 表: Orders 寫一個解決方案&#xff0c;要求獲取在 2020 年 2 月份下單的數量不少于 100 的產品的名字和數目。 返回結果表單的 順序無要求 。 查詢結果的格式如下。 示例 1: 解題思路 1.題目要求我們獲取在 2020 年 2 月份下單的數量不少于 100 的產品的…

如何重置樹莓派 Pico(重置外圍設備失敗)

有時候需要重置樹莓派 Pico&#xff0c;一種方法是按住 Pico 上的“BOOTSEL”按鈕再插入 USB&#xff1b;或者用按鈕連接“RUN”和“GND”針腳&#xff0c;然后同時按下這個按鈕和“BOOTSEL”按鈕。這樣就可以進入 USB 模式&#xff0c;這樣從一定程度進行了重置。 但是這種方…

IO多路復用

常見的網絡IO模型 網絡 IO 模型分為四種&#xff1a;同步阻塞 IO(Blocking IO, BIO)、同步非阻塞IO(NIO, NewIO)、IO 多路復用、異步非阻塞 IO(Async IO, AIO)&#xff0c;其中AIO為異步IO&#xff0c;其他都是同步IO 同步阻塞IO 同步阻塞IO&#xff1a;在線程處理過程中&am…

劍指Offer10-I.斐波那契數列 C++

1、題目描述 寫一個函數&#xff0c;輸入 n &#xff0c;求斐波那契&#xff08;Fibonacci&#xff09;數列的第 n 項&#xff08;即 F(N)&#xff09;。斐波那契數列的定義如下&#xff1a; F(0) 0, F(1) 1 F(N) F(N - 1) F(N - 2), 其中 N > 1. 斐波那契數列由 0 和 …

Redis_事務操作

13. redis事務操作 13.1事務簡介 原子性(Atomicity) 一致性(Consistency) 隔離性(isolation) 持久性(durabiliby) ACID 13.2 Redis事務 提供了multi、exec命令來完成 第一步&#xff0c;客戶端使用multi命令顯式地開啟事務第二步&#xff0c;客戶端把事務中要執行的指令發…

前沿分享-通過經皮神經刺激來治療糖尿病神經性疼痛

經皮神經電刺激&#xff08;PENS&#xff09;設備用于對糖尿病周圍神經病變引起的慢性、頑固性疼痛進行多次治療。 放在耳朵上的這種可穿戴設備在幾天內持續提供低水平的脈沖電流。 這是一種安全有效的非麻醉性替代治療慢性疼痛的方法。還有一張設備放在糖足上的照片&#xff0…

向量數據庫 Milvus Cloud Partition Key:租戶數量多,單個租戶數據少的三種解決方案

三種解決方案 這個問題提出的時候,Milvus 的最新版本是 2.2.8,我們做個角色互換,在當時站在這個用戶的角度,留在我們面前的選擇有這么幾個: 為每個租戶創建一個 collection 為每個租戶創建一個 partition 創建一個租戶名稱的標量字段 接下來,我們依次分析下這三種方案的可…

《零基礎實踐深度學習》(第2版)學習筆記,(五)深度學習與計算機視覺

文章目錄 1. 計算機視覺概述2. 圖像分類3. 目標檢測 1. 計算機視覺概述 圖像分類 目標檢測 2. 圖像分類 3. 目標檢測

01-C++數據類型

3、基礎類型 3.1、簡單變量 變量的命名 carDrip和cardRip 或boat_sport和boats_port 此外&#xff0c;還有有前綴的命名&#xff0c;使用前綴表示數據類型。常見的前綴有:str&#xff08;表示字符串&#xff09;、n&#xff08;表示整數值&#xff09;、b&#xff08;表示…

深入探究QCheckBox的三種狀態及其用法

文章目錄 引言&#xff1a;三種狀態一、未選中狀態&#xff08;0&#xff09;&#xff1a;二、選中狀態&#xff08;2&#xff09;&#xff1a;三、部分選中狀態&#xff08;1&#xff09;&#xff1a; 判斷方法結論&#xff1a; 引言&#xff1a; QCheckBox是Qt框架中常用的復…

html css實現愛心

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style>/* 愛心 */.lo…

修改Linux中SSH的端口

文章目錄 修改Linux中SSH的端口Linux中默認的ssh端口關閉SELinux測試新端口 修改Linux中SSH的端口 Linux中默認的ssh端口 使用root用戶操作 修改前先備份ssh_config cp /etc/ssh/sshd_config /etc/ssh/sshd_config_date "%Y%m%d%H%M%S"修改配置文件&#xff0c;找…

結構體的定義與賦值

1、結構體定義 首先定義一個學生結構體&#xff0c;如下所示&#xff1a; struct Student {int num;char name[32];char sex;int age; }; 接著在主函數中對學生進行聲明&#xff0c;如下所示&#xff1a; #include<iostream> using namespace std;struct Student {in…

2023Robocom省賽(本科組)

RC-u1 亞運獎牌榜 題目鏈接&#xff1a;PTA | 程序設計類實驗輔助教學平臺 (pintia.cn) 題目&#xff1a; 2022 年第 19 屆亞運會即將在杭州召開&#xff0c;杭州已經做好準備歡迎全亞洲的觀眾一同參與亞運盛會了&#xff01; 你正在開發一款跟亞運獎牌計算相關的 App。給定…

“深入探究JVM內部結構與工作原理:解析Java虛擬機“

標題&#xff1a;深入探究JVM內部結構與工作原理 摘要&#xff1a;本文將深入探究Java虛擬機&#xff08;JVM&#xff09;的內部結構與工作原理。我們將介紹JVM的基本組成部分&#xff0c;包括類加載器、運行時數據區和執行引擎。同時&#xff0c;我們將通過一個示例代碼來說明…

直接在html中引入Vue.js的cdn來實現一個簡單的上傳圖片組件

摘要 當使用 Vue.js 的 CDN 來實現一個簡單的上傳圖片組件時&#xff0c;你可以利用 Vue 的數據綁定和事件處理能力&#xff0c;結合 HTML 和 CSS&#xff0c;輕松地創建一個交互式的圖片上傳界面。以下是一個示例&#xff1a; 代碼結構 index.html <!DOCTYPE html> &…

LVS集群和分布式

LVS 一.集群和分布式概念 1.1 集群 在計算機領域&#xff0c;集群早在 1960 年就出現&#xff0c;隨著互聯網和計算機相關技術的發展&#xff0c;現在 集群這一技術已經在各大互聯網公司普及。 1.1.1 集群概念 計算機集群指一組通過計算機網絡連接的計算機&#xff0c;它們…

Rust 重載運算符|復數結構的“加減乘除”四則運算

復數 基本概念 復數定義 由實數部分和虛數部分所組成的數&#xff0c;形如a&#xff0b;bi 。 其中a、b為實數&#xff0c;i 為“虛數單位”&#xff0c;i -1&#xff0c;即虛數單位的平方等于-1。 a、b分別叫做復數a&#xff0b;bi的實部和虛部。 當b0時&#xff0c;a&…

前后端分離------后端創建筆記(06)新增接口頁面布局

本文章轉載于【SpringBootVue】全網最簡單但實用的前后端分離項目實戰筆記 - 前端_大菜007的博客-CSDN博客 僅用于學習和討論&#xff0c;如有侵權請聯系 源碼&#xff1a;https://gitee.com/green_vegetables/x-admin-project.git 素材&#xff1a;https://pan.baidu.com/s/…

Kubernetes入門 四、Pod核心

目錄 什么是PodPod與容器不同Pod如何管理多個容器Pod的管理-工作負載K8s中的資源清單創建使用Pod直接創建Pod使用 Deployment 創建Pod 環境變量重啟策略鏡像拉取策略訪問 DNS 的策略資源限制初始化容器臨時容器&#xff08;了解&#xff09; 什么是Pod Pod 是可以在 Kubernete…