面試題-集合

1.JAVA 中數組和集合的區別 ?

(1)數組的長度是固定的,而集合長度是可以改變的。

(2)數組可以儲存基本數據類型和引用數據類型,而集合只能儲存引用數據類型(也就是對象)。

(3)定義數組時必須指出數組元素的類型,而集合默認其中所有元素的類型都是 Object 類型的。

2.Collection 和Collections 的區別 ?

(1)Collection 是集合類的上級接口,繼承于它的接口主要有 Set 和 List。

(2)Collections 是集合類的一個幫助類,它提供一系列靜態方法實現對集合的搜索、排序、線程安全化等操作。

3.List 和 Set 的區別 ?

(1)List 是有序的可重復的集合,而 Set 是無序的不可重復的集合。

(2)List 允許插入多個 Null 值,而 Set 只允許包含一個 Null 值。

4.ArrayList 和 LinkedList 和 Vector 的區別 ?

(1)ArrayList 和 Vector 都是基于動態數組實現的,查詢和修改數據快,而插入和刪除數據慢,ArrayList 是線程

不安全的,Vector 是線程安全的,所以 Vector 的性能比 ArrayList 的性能差。

(2)LinkedList 是基于雙向鏈表實現的,插入和刪除數據快,而查詢和修改數據慢。

5.HashTable 和 HashMap 的比較 ?

(1)HashTable 是線程安全的,而 HashMap 是線程不安全的。

(2)HashTable 不允許有 Null 值 (key 和 value 都不可以為 Null),而 HashMap 允許有 Null 值 (key 和 value 都

可以為 Null)。

(3)HashTable 和 HashMap 的遍歷方式差別不大,HashTable 僅僅比 HashMap 多了一個 elements 方法。

6.HashMap 和 ConcurrentHashMap 區別 ?

(1)HashMap 是線程不安全的,而 ConcurrentHashMap 是線程安全的。

(2)HashMap 不支持線程同步,而 ConcurrentHashMap 采用分段鎖來實現線程同步,類似于多個

HashTable。

7.HashSet 和 TreeSet 的區別 ?

(1)HashSet 是由一個 hash 表來實現的,所以它的元素是無序的。TreeSet 是由一個樹形的結構來實現的,所

以它的元素是有序的。

(2)HashSet 的元素可以為 Null,且只能有一個為 Null,而 TreeSet 的元素都不能為 Null。

(3)HashSet 底層是通過 HashMap 實現的,而 TreeSet 底層是通過 TreeMap 實現的。

8.HashTable 和 HashMap 底層實現原理 ?

(1)HashTable 底層實現原理是基于數組 + 鏈表,默認長度是11,擴容以后長度是 2n + 1。

(2)HashMap 的底層原理:JDK1.7 是數組 + 鏈表,JDK1.8 是數組 + 鏈表 + 紅黑樹,默認長度是16,擴容以后

是兩倍 32,線程不安全,效率高。

9.HashMap 和 LinkedHashMap 的區別 ?

(1)HashMap 是無序的,HashMap 允許多條記錄的值為 Null,但是最多只允許一條記錄的鍵為 Null。

(2)LinkedHashMap 是 HashMap 的子類,是基于 HashMap 和雙向鏈表來實現的, LinkedHashhMap 是有序

的, 它可以保證 HashMap 集合有序,存入的順序和取出的順序是一致的。

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

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

相關文章

七牛云上傳視頻如何有效做到節省空間

在上傳視頻的時候,我們通常會保存到第三方【七牛云】平臺。不過大多數程序員在系統后臺上傳視頻后,一般都是保存到了本地,如果視頻非常多或者視頻容量特別大的情況下,那么我們的服務器遲早有一天會滿,為了節省空間&…

運算符的優先級總能起作用嗎?

有關運算符優先級的規則稍微有點復雜。在大多數情況下,這些規則確實是你所需要的,然而,有人也指出其中的一些規則本來是可以設計得更好的。讓我們快速地回顧一些有關內容:“運算符優先級”是這樣一些規則的集合——這些規則規定了…

按鈕交互loading ---- 轉圈圈 加載

按鈕loading狀態自定義選項(功能): 可以在元素上添加 data-am-loading 來設置選項: spinner 加載動畫圖標,適用于支持 CSS3 動畫、非 input 元素,寫圖標名稱即可;loadingText 加載時顯示的文字&…

面試題-線程

1.什么是線程 ?線程和進程的區別 ? 線程是操作系統能夠進行運算調度的最小單位,它被包含在進程之中,是進程中的實際運作單位。而進程是系統中 正在運行的一個程序,程序一旦運行就是進程。 區別:&#xf…

區塊鏈入門教程

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 區塊鏈(blockchain)是眼下的大熱門,新聞媒體大量報道,宣稱它將創造未來。 可是&#xf…

響應式面包屑菜單

在線演示 本地下載 轉載于:https://www.cnblogs.com/qixidi/p/10064991.html

5個能提高你工作效率的Excel技巧

Excel的應用在工作中還是十分廣泛的,那么下面小編就來為大家分享5個Excel技巧來幫助大家輕松提高工作效率。1. 不用數據驗證或數據有效性,自動生成下拉列表方法:按【Alt↓】組合鍵注意點:光標要定位在已有數據區域的下一個單元格&…

很好的推薦書籍

五百本編程書籍推薦【信息化類】 書號書名作者出版時間定價對應頁碼TP02041企業資源計劃(ERP)教程羅鴻2006-1¥28.00—TP02031ERP理論、方法與實踐周玉清 等2005-12¥39.00—TP01059ERP原理設計實施(第3版)羅…

消息推送

我有一個運動類app軟件,它的服務器是集群式的,有N臺服務器。現在我想在app上開發一個功能,在每天的晚上11點進行消息推送,他會推送今天走多少步,是否健康,明天至少走多少步。請問如何11點能準時觸達到用戶?…

day10:函數進階

1,函數的命令空間(內置命名空間,全局命名空間,局部命名空間),內置大于全局大于局部 2,內置命名空間,就是Python解釋器一啟動就可以使用的名字,存儲在內置命名空間中&…

mysql導入source注意點

mysql的導入導出要注意字符集,防止查詢亂碼! 導入前設置字符集 set names utf8; //導入指定編碼source /xxx.sqlcommit;

嗶哩嗶哩修改視頻速度

按住f12,打開控制臺,先輸入 const video document.querySelector("video"); video.play() // 開始 video.pause() // 暫停 video.playbackRate3 // 三倍速

編譯預處理

C語言編譯中,什么時候應該使用32位編譯程序? 32位編譯程序應該在32位操作系統上使用。由32位編譯程序生成的32位程序比16位程序運行得更快,這正是任何32位的東西都很熱門的原因。有那么多不同版本的Microsoft Windows,它們和哪種編譯程序組成…

去除List集合中的重復值(四種好用的方法)

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 最近項目中需要對list集合中的重復值進行處理,大部分是采用兩種方法,一種是用遍歷list集合判斷后賦給另一個list…

jQuery---過濾選擇器

4、過濾選擇器 過濾選擇器主要是通過特定的過濾規則來篩選出所需的DOM元素,過濾規則與CSS 中的偽類選擇器語法相同,即選擇器都以一個冒號(:)開頭。按照不同的過濾規則, 過濾選擇器可以分為基本過濾、內容過濾、可見性過濾、屬性過濾、子元素過…

安裝Frida抓包工具

curl https://bootstrap.pypa.io/get-pip.py | python3 pip install frida pip install frida-tools

正則介紹_grep

2019獨角獸企業重金招聘Python工程師標準>>> 10月16日任務 9.1 正則介紹_grep上 9.2 grep中 9.3 grep下 grep基本用法 grep [-cinvABC] word filename centos7.x版本的grep實則為grep --colorauto-c 顯示匹配到的行數[rootlocalhost ~]# cp /etc/passwd /tmp [rootl…

[國家集訓隊]middle

嘟嘟嘟 有誰能想到這題會用到主席樹呢?(不愧是WJMZBMR出的題) 首先考慮如果區間是固定的話,中位數該怎么求。 沒錯,二分。如果大于當前二分值\(mid\)的數比小于\(mid\)的數多,說明\(mid\)還可以再變大&…

Java List<Object>去掉重復對象-java8

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 public List<String> removeStringListDupli(List<String> stringList) {Set<String> set new LinkedHashSet<&g…

Vue + webpack 項目配置化、接口請求統一管理

準備工作 需求由來&#xff1a; 當項目越來越大的時候提高項目運行編譯速度、壓縮代碼體積、項目維護、bug修復......等等成為不得不考慮而且不得不做的問題。 又或者后面其他同事接手你的模塊&#xff0c;或者改你的bug時避免人家看的眼痛以及心里千百句mamaipi...問候。 并且…