1. 程式人生 > >執行緒安全與不安全的集合

執行緒安全與不安全的集合

  • Java集合框架主要包括Collection和Map兩種型別。其中Collection又有3種子型別,分別是List、Set、Queue。Map中儲存的主要是鍵值對對映。
  • 規則集Set中儲存的是不重複的元素,線性表中儲存可以包括重複元素,Queue佇列描述的是先進後出的資料結構,可以用LinkedList來實現佇列。
  • 效率上,規則集比線性表更高效。
  • ArrayList主要是用陣列來儲存元素,LinkedList主要是用連結串列來儲存元素,HashMap的底層實現主要是藉助陣列+連結串列+紅黑樹來實現。
  • Vector、HashTable、Properties等集合類效率比較低但都是執行緒安全的。包java.util.concurrent下包含了大量執行緒安全的集合類,效率上有較大提升。
  • ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等都是執行緒不安全的。(執行緒不安全是指:當多個執行緒訪問同一個集合或Map時,如果有超過一個執行緒修改了ArrayList集合,則程式必須手動保證該集合的同步性。)