1. 程式人生 > >Java面試題亂筆

Java面試題亂筆

p s 鍵值對 ring ans 微軟雅黑 不同 nbsp 怎麽 string

此篇整理的面試題型有點亂,請見諒。

Object 類中的方法 12種: Object() wait() wait(long) wait(long,int) hashCode() equals(Object) finalize() clone() toString() getClass() notify() notifyAll()

hashmap put 方法存放的時候怎麽判斷是否是重復的

利用hashcode()方法,若相同,在用equal方法來判斷(equals需要重寫)

Object toString 方法常用的地方,為什麽要重寫該方法

toString方法中,return getClass().getName()+"@"+Integer.toHexString(hashCode());

Set 和 List 區別?

Set接口是無序(但它下面的SortedSet接口有序),不能重復的 List接口是有序並且能重復

ArrayList 和 LinkedList 區別

ArrayList是通過變長數組的算法實現 LinkedList是雙向循環鏈表構成

如果存取相同的數據,ArrayList 和 LinkedList 誰占用空間更大?

LinkedList大,因為LinkedList是鏈表結構構成的,除了每個存儲空間除了放自身值,還要放“指針”

Set 存的順序是有序的嗎? Set是無序不重復的,但它的SortedSet子接口是有序的

常見 Set 的實現有哪些?

HashSet及其子類LinkedHashSet Set的子接口SortedSet的實現類TreeSet

TreeSet 對存入對數據有什麽要求呢?

數據不能重復,數據類型一致(/*可以通過重寫Comparable接口中的compare方法實現數據重復*/)
HashSet 的底層實現呢 底層實現了HashMap
  • 對於HashSet中保存的對象,主要要正確重寫equals方法和hashCode方法,以保證放入Set對象的唯一性
  • 雖說是Set是對於重復的元素不放入,倒不如直接說是底層的Map直接把原值替代了(這個Set的put方法的返回值真有意思)
  • HashSet沒有提供get()方法,願意是同HashMap一樣,Set內部是無序的,只能通過叠代的方式獲得

Java 中有哪些線程安全的 Map?
TableMap SynchronizedMap ConcurrentHashMap(紅黑樹和CAS算法)
hashcode 和 equals 方法常用地方

Java中的HashMap使用hashCode()equals()方法來確定鍵值對的索引,當根據鍵獲取值的時候也會用到這兩個方法。如果沒有正確的實現這兩個方法,兩個不同的鍵可能會有相同的hash值,因此,可能會被集合認為是相等的。而且,這兩個方法也用來發現重復元素。所以這兩個方法的實現對HashMap的精確性和正確性是至關重要的。



get與post請求的區別 get請求的大小有限,並且不安全,顯示在url欄裏,請求成功後返回的數據能緩存 post沒大小限制,無緩存 最本質的區別是get請求發送一次數據包,服務器響應200(返回數據) post請求是發送兩次數據包,第一次先發送header,服務器響應100 繼續,在發送第二次data,服務器響應200(返回數據)。

Object 類中的方法12種:Object() wait() wait(long) wait(long,int) hashCode() equals(Object)finalize() clone()toString() getClass()notify() notifyAll()hashmap put 方法存放的時候怎麽判斷是否是重復的
利用hashCode方法,若相同,在用equal方法來判斷(equals需要重寫)Object toString 方法常用的地方,為什麽要重寫該方法toString方法中,return getClass().getName()+"@"+Integer.toHexString(hashCode());Set 和 List 區別?Set接口是無序(但它下面的SortedSet接口有序),不能重復的List接口是有序並且能重復ArrayList 和 LinkedList 區別ArrayList是通過變長數組的算法實現LinkedList是雙向循環鏈表構成如果存取相同的數據,ArrayList 和 LinkedList 誰占用空間更大?LinkedList大,因為LinkedList是鏈表結構構成的,除了每個存儲空間除了放自身值,還要放“指針”Set 存的順序是有序的嗎?Set是無序不重復的,但它的SortedSet子接口是有序的常見 Set 的實現有哪些?HashSet及其子類LinkedHashSet Set的子接口SortedSet的實現類TreeSetTreeSet 對存入對數據有什麽要求呢?數據不能重復,數據類型一致(/*可以通過重寫Comparable接口中的compare方法實現數據重復*/)HashSet 的底層實現呢底層實現了HashMap對於HashSet中保存的對象,主要要正確重寫equals方法和hashCode方法,以保證放入Set對象的唯一性雖說是Set是對於重復的元素不放入,倒不如直接說是底層的Map直接把原值替代了(這個Set的put方法的返回值真有意思)HashSet沒有提供get()方法,願意是同HashMap一樣,Set內部是無序的,只能通過叠代的方式獲得Java 中有哪些線程安全的 Map?TableMap SynchronizedMap ConcurrentHashMap(紅黑樹和CAS算法)hashcode 和 equals 方法常用地方Java中的HashMap使用hashCode()和equals()方法來確定鍵值對的索引,當根據鍵獲取值的時候也會用到這兩個方法。如果沒有正確的實現這兩個方法,兩個不同的鍵可能會有相同的hash值,因此,可能會被集合認為是相等的。而且,這兩個方法也用來發現重復元素。所以這兩個方法的實現對HashMap的精確性和正確性是至關重要的。
get與post請求的區別get請求的大小有限,並且不安全,顯示在url欄裏,請求成功後返回的數據能緩存post沒大小限制,無緩存最本質的區別是get請求發送一次數據包,服務器響應200(返回數據)post請求是發送兩次數據包,第一次先發送header,服務器響應100 繼續,在發送第二次data,服務器響應200(返回數據)。

Java面試題亂筆