亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

不安裝jdk運行java程序詳解 java不是內(nèi)部命令( 三 )


Java中的HashMap是以鍵值對(key-value)的形式存儲元素的 。HashMap需要一個hash函數(shù),它使用hashCode()和equals()方法來向集合/從集合添加和檢索元素 。當調(diào)用put()方法的時候,HashMap會計算key的hash值,然后把鍵值對存儲在集合中合適的索引上 。如果key已經(jīng)存在了,value會被更新成新值 。HashMap的一些重要的特性是它的容量(capacity),負載因子(load factor)和擴容極限(threshold resizing) 。
17.HashMap和Hashtable有什么區(qū)別?
?HashMap和Hashtable都實現(xiàn)了Map接口,因此很多特性非常相似 。但是,他們有以下不同點:
?HashMap允許鍵和值是null,而Hashtable不允許鍵或者值是null 。
?Hashtable是同步的,而HashMap不是 。因此,HashMap更適合于單線程環(huán)境,而Hashtable適合于多線程環(huán)境 。
?HashMap提供了可供應(yīng)用迭代的鍵的集合,因此,HashMap是快速失敗的 。另一方面,Hashtable提供了對鍵的列舉(Enumeration) 。
o一般認為Hashtable是一個遺留的類 。
18.數(shù)組(Array)和列表(ArrayList)有什么區(qū)別?什么時候應(yīng)該使用Array而不是ArrayList?
下面列出了Array和ArrayList的不同點:
?Array可以包含基本類型和對象類型,ArrayList只能包含對象類型 。
?Array大小是固定的,ArrayList的大小是動態(tài)變化的 。
?ArrayList提供了更多的方法和特性,比如:addAll(),removeAll(),iterator()等等 。
?對于基本類型數(shù)據(jù),集合使用自動裝箱來減少編碼工作量 。但是,當處理固定大小的基本數(shù)據(jù)類型的時候,這種方式相對比較慢 。
19.ArrayList和LinkedList有什么區(qū)別?
ArrayList和LinkedList都實現(xiàn)了List接口,他們有以下的不同點:
?ArrayList是基于索引的數(shù)據(jù)接口**,它的底層是數(shù)組** 。它可以以O(shè)(1)時間復(fù)雜度對元素進行隨機訪問 。與此對應(yīng),LinkedList是以元素鏈表的形式存儲它的數(shù)據(jù),每一個元素都和它的前一個和后一個元素鏈接在一起,在這種情況下,查找某個元素的時間復(fù)雜度是O(n) 。
?相對于ArrayList,LinkedList的插入,添加,刪除操作速度更快,因為當元素被添加到集合任意位置的時候,不需要像數(shù)組那樣重新計算大小或者是更新索引 。
?LinkedList比ArrayList更占內(nèi)存,因為LinkedList為每一個節(jié)點存儲了兩個引用,一個指向前一個元素,一個指向下一個元素 。
也可以參考ArrayList vs. LinkedList 。
20.如何權(quán)衡是使用無序的數(shù)組還是有序的數(shù)組?
有序數(shù)組最大的好處在于查找的時間復(fù)雜度是O(log n),而無序數(shù)組是O(n) 。有序數(shù)組的缺點是插入操作的時間復(fù)雜度是O(n),因為值大的元素需要往后移動來給新元素騰位置 。相反,無序數(shù)組的插入時間復(fù)雜度是常量O(1) 。
21.HashSet和TreeSet有什么區(qū)別?
HashSet是由一個hash表來實現(xiàn)的,因此,它的元素是無序的 。add(),remove(),contains()方法的時間復(fù)雜度是O(1) 。
另一方面,**TreeSet是由一個樹形的結(jié)構(gòu)來實現(xiàn)的,它里面的元素是有序的 。**因此,add(),remove(),contains()方法的時間復(fù)雜度是O(logn) 。
22.Java中垃圾回收有什么目的?什么時候進行垃圾回收?
垃圾回收的目的是識別并且丟棄應(yīng)用不再使用的對象來釋放和重用資源 。
23.如果對象的引用被置為null,垃圾收集器是否會立即釋放對象占用的內(nèi)存?
不會,在下一個垃圾回收周期中,這個對象將是可被回收的 。
24、String是最基本的數(shù)據(jù)類型嗎?
基本數(shù)據(jù)類型包括byte、int、char、long、float、double、boolean和short 。
java.lang.String類是final類型的,因此不可以繼承這個類、不能修改這個類 。為了提高效率節(jié)省空間,我們應(yīng)該用StringBuffer類


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!

「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助: