原文: https://dzone.com/articles/to...
做者: Sonia Mathias
翻譯: 祝坤榮
在Java中,集合是一種提供了存儲與操做批量對象的框架。在JDK1.2中「集合框架」就被定義了,並且它提供了全部的集合類和接口。Java集合類中最主要的兩個主要接口是Collection接口(java.util.Collection)和Map接口(java.util.Map)。Java集合框架提供的接口包括Set,List,Queue,Deque,提供類包括ArrayList,Vector,LinkedList,HashSet,PriorityQueue,TreeSet和LinkedHashSet。java
若是咱們不使用集合框架,標準的用於給Java對象分組的方法是Arrays,Vectors或者HashTable。他們都沒有通用的接口。他們的實現都是被單獨定義的且互相之間沒有任何聯繫。所以,要去記住全部不一樣的方法,語法,和建立函數都很困難。面試
好比,若是要給Vector加一個元素咱們會使用addElement()方法,而給Hashtable加一個元素則使用put()方法。編程
讓咱們看看java面試中被問得最多的一些問題。設計模式
問題1:什麼是Java中的框架?
答:框架是提供了腳手架功能的一組類和對象的集合。理想的面向對象設計都應該有一個框架提供了對於集合類的同類型任務提供一樣的操做。數組
問題2:定義Java的集合框架。
答:Java的集合框架是一組接口和類的集合,提供了高效保存和處理數據的方法。Java集合框架提供的接口有Set,List,Queue,Deque,提供的類包括ArrayList,Vector,LinkedList,HashSet,PriorityQueue,TreeSet和LinkedHashSet。安全
問題3:Java集合框架中ArrayList與Vector的不一樣之處。
答:
ArrayList微信
Enumeration數據結構
問題5:LinkedList與ArrayList的區別?
答:
ArrayList框架
LinkedList函數
問題7:Comparable與Comparator的不一樣。
答:
Comparable
Comparator
問題8:計算機內存中Stack的定義是?
答:stack是計算機內存中一個特殊區域,用來存儲函數建立的臨時變量。在stack中,變量是在運行時被聲明,存儲和初始化的。
問題9:列出map接口的集合視圖。
答:
集合視圖(Collection view)方法可讓Map在如下
三種方式視爲一個集合:
問題10:定義EnumSet。
答:它是可使用enum枚舉類型的Set實現。全部的元素都必須屬於一個特定的enum類型。它不是synchronized。NULL key是不容許的。
問題11:什麼方法能讓集合變成線程安全的?
答:這些方法是:
問題13:hashmap與hashtable的不一樣
答:
Hashmap
問題14:定義Iterator。
答:Iterator()是一個提供了遍歷集合方法的接口。它提供了一種普世的方式來遍歷集合中的元素,並實現了iterator設計模式。
問題15:什麼是navigable map?
答:NavigableMap接口,Java集合框架的成員,屬於java.util包。它是SortedMap的子接口,提供瞭如lowerKey,floorKey,ceilingKey和higherKey這樣方便的導航方法。它也提供了從現有map建立一個子map的方法。
問題16:什麼是queue接口的peek()?
答:Peek()返回了隊列的頭。它不移除任何元素。當隊列爲空時返回null。
未完待續
本文來自祝坤榮(時序)的微信公衆號「麥芽麪包」,公衆號id「darkjune_think」
開發者/科幻愛好者/硬核主機玩家/業餘翻譯
轉載請註明。
微博:祝坤榮
B站: https://space.bilibili.com/23...
交流Email: zhukunrong@yeah.net