Java基礎部分(3)

Java中的經常使用類2數組

  集合安全

 數組與集合的區別:數據結構

  一、數組長度固定,集合長度可變。spa

  二、數組能夠存儲基本數據類型,集合只能存儲對象。線程

 集合類的結構圖以及相關特色:code

Collection
  |--List 有序,可重複
    |--ArrayList
      底層數據結構是數組,查詢快,增刪慢。
      線程不安全,效率高
    |--Vector
      底層數據結構是數組,查詢快,增刪慢。
      線程安全,效率低
    |--LinkedList
      底層數據結構是鏈表,查詢慢,增刪快。
      線程不安全,效率高
  |--Set 無序,惟一
    |--HashSet
      底層數據結構是哈希表。
      如何保證元素惟一性的呢?
        依賴兩個方法:hashCode()和equals()
        開發中自動生成這兩個方法便可
      |--LinkedHashSet
        底層數據結構是鏈表和哈希表
        由鏈表保證元素有序
        由哈希表保證元素惟一
    |--TreeSet
      底層數據結構是紅黑樹。
      如何保證元素排序的呢?
        天然排序
        比較器排序
      如何保證元素惟一性的呢?
        根據比較的返回值是不是0來決定對象

Mapblog

  |--HashMap排序

    底層數據結構是哈希表索引

    存儲的是鍵值對形式的元素,鍵惟一,值能夠重複。

 集合中最經常使用類之 ArrayList類:

//這裏的E表明泛型,能夠理解成Object類型(雖然這樣不許確,可是可以幫助理解)

//添加功能
public boolean add(E o)
public void add(int index,E obj)

//刪除功能
public  E remove(int index) //根據索引刪除
public  boolean remove(Object o) //根據內容刪除

//獲取功能
public E get(int index) //獲取指定位置上的元素
public int size()  //獲取列表中的元素數量

//修改功能
public  E set(int index, E element) //替換指定位置內容

//判斷
 public boolean contains(Object elem) //是否包含指定元素
 public boolean isEmpty()  //判斷是否爲空

//轉換
public Object[] toArray() //將集合轉換爲數組

 

 集合中最經常使用類之HashSet類:

  特別說明1:HashSet集合的底層數據結構是哈希表。

  特別說明2:HashSet的惟一性是由,hashCode()和equals()這兩個方法來保證的。因此須要從新這兩個方法來實現特定的惟一需求。

//添加功能 
public boolean add(E o) //若是此集合中還不包含指定元素,則添加指定元素。 

//刪除功能
public boolean remove(Object o) //若是指定元素存在於此集合中,則將其移除。 
public void clear() //今後集合中移除全部元素。 

//判斷功能
public boolean contains(Object o) // 若是此集合不包含指定元素,則返回 true。 
public boolean isEmpty() //若是此集合不包含任何元素,則返回 true。
 
//獲取功能
public int size() //返回此集合中的元素的數量(集合的容量)。
  
//複製功能
public Object clone() //返回此 HashSet 實例的淺表複製:並無克隆這些元素自己。 

//迭代器功能,用於遍歷集合
public Iterator<E> iterator() //返回對此集合中元素進行迭代的迭代器。

 集合中最經常使用類之HashMap類:

  特別說明1:Map集合中的內容,都是以鍵值對的形式來存儲的。而且鍵惟一,值能夠重複。

  特別說明2:這種鍵值對的存儲形式,在一些其餘語言中又叫作字典。

//添加功能
public  V put(K key, V value) //添加鍵值對
public void putAll(Map<? extends K,? extends V> m) 
//刪除功能
public  void clear() //刪除全部
public  V remove(Object key) //根據鍵刪除數據
//判斷功能
public  boolean containsKey(Object key) //判斷是否包含該鍵
public  boolean containsValue(Object value) //判斷是否包含該值
public  boolean isEmpty() //判斷是否爲空
//獲取功能
public V get(Object key)  //根據鍵找值
public Set<K> keySet()  //獲取鍵的集合信息
public  Collection<V> values()  //獲取值的集合信息
//長度功能
public int size() 

 

 

   文件相關類(IO流)

相關文章
相關標籤/搜索