Java程式設計師從笨鳥到菜鳥(七)陣列和集合

2021-08-15 21:44:08 字數 911 閱讀 6508

1. 陣列和集合的區別

2. 集合相關知識

2.1 集合體系中的三個主要介面:list、set、map;list和set實現了collection介面;

2.2 set:不允許重複元素,hashset和treeset是兩個主要實現類,set的取值只能通過游標

2.3 list:允許元素重複,arraylist、linkedlist和vector是其三個主要實現類;arraylist是執行緒不安全的,vector是執行緒安全(效率相對較低)的,這兩個的底層都是由陣列實現的;linkedlist是執行緒安全的,底層是由鍊錶實現的。

陣列和鍊錶的優缺點:陣列查詢、修改快,插入和刪除較難(要移動資料);鍊錶插入刪除容易,查詢、修改慢(要移動指標)。

2.4 map是鍵值對集合,key值唯一不重複,value值可以,hashmap、treemap、hashtable是三個主要實現類;hashtable是執行緒安全的,效率低,不能存null值,hashmap是執行緒不安全的,可以存null值

arraylist list=new arraylist(); 這種是預設建立大小為10的陣列,每次擴容大小為1.5倍

arraylist list=new arraylist(20); 這種是指定陣列大小的建立,建立時直接分配其大小,沒有擴充。

所以,擴充為0次

arraylist初始化的預設長度?arraylist的長度是固定的嗎?其實現的原理是什麼?

如果直接列印al.size()當然是0,size()方法,因為10指的是「邏輯」長度。 所謂「邏輯」長度,是指記憶體已存在的「實際元素的長度」 而「空元素不被計算「;即:當你利用add()方法,向arraylist內新增乙個「元素」時, 邏輯長度就增加1位。 而剩下的9個空元素不被計算。

arraylistal = new arraylist();

Java程式設計師從笨鳥到菜鳥(三十八)vue

1.實現上 original message p methdos reversed message p computed reversed message p div data methods computed script 執行結果 original message hello methdos r...

Java程式設計師從笨鳥到菜鳥(四十六) SQL 注入

sql 注入攻擊指的是通過構建特殊的輸入作為引數傳入 web 應用,主要原因是程式沒有細緻地過濾使用者輸入的資料,只是非法資料侵入系統。sql 注入可分為平台層注入和 層注入,平台層注入由不安全的資料庫配置或資料庫平台的漏洞所致 層注入主要是由於程式設計師對輸入未進行細緻地過濾,從而執行了非法查詢 ...

從程式設計師到CEO

從程式設計師到ceo 序言 今天我無意中在網路上看到某位仁兄通過部落格出了一本 程式設計師的羊皮卷 我突然感覺這個世界表達個人際遇的機會太多了。同時作為一名在it行業打拼了近15年的老鳥的我,覺得很多時候年青人的區辨力,很多時候比較隨波,如果我們能及時的多種真實的聲音,我想可以為新人提供多點參考。我...