程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JAVA容器

JAVA容器

編輯:關於JAVA
 

java容器概念

javaAPI所提供的一些接口,實現這些接口的類的實例,用於程序中存放對象。

好處:當需要空間的時候會自動增長,不需要的時候就會自動的釋放。

 

java容器API的結構圖

 

Collection接口定義了存取一組對象的方法,其子接口Set和List分別定義了存儲方法。

 

Set接口類似集合,沒有順序,不可以重復。

List接口有順序,可以重復(重復是指兩個對象equals)。

Map接口定義了存儲“鍵(key)–值(vlaue)映射對”的方法。

 

Collection中的方法

 

 

在調用remove、contains等方法需要比較對象是否相等,這會涉及到equals方法和hashCode方法:對於自定義的類型需要重寫equals和hashCode方法以實現自定義的對象相等規則。相等的對象應該具有相等的hash codes。

 

 

Iterator接口

我們可以看到,所有實現了Collection接口的容器類都有一個iterator方法,返回了一個Iterator接口的對象。

 

Iterator對象稱為迭代器,用以方便的實現對容器內元素的遍歷操作。

 

Iterator接口定義了如下方法:

BooleanhasNext()  判斷游標右邊是否還有元素。

Object next();返回游標右邊的元素並將游標移動到下一個位置。

Void remove();刪除游標左邊的元素,在執行完next之後該操只能執行一次。

 

Set接口

Set接口是Collection子接口,Set接口沒有提供額外的方法,但實現Set接口的容器類中的元素是沒有順序的,而且不可重復。

 

set與數學中的集合相對應。

 

HashSet和TreeSet等。

List接口

List接口是Collection的子接口,實現List接口的容器中的元素是有序的,而且是可以重復的。

 

List容器中的元素都對應一個整數型的序號記載其在容器中的位置,可以根據序號來存取容器中的元素。

 

List常用方法:

 

List容器類:ArrayList和LinkedList類。

讀的效率和改的效率:

Array讀快改慢。

Linked改快讀慢。

Hash兩者之間。

 

Compare接口

確定容器中對象的“大小”和順序?

 

所有可以排序的類都實現了java.lang.Comparable接口,這個接口中只有一個方法:publicint compareTo(Objectobj) 返回值0,正數,負數。

 

Map接口

實現Map接口的類用來存儲鍵--值對。

Map接口實現類有HashMap和TreeMap等。

 

Map類中存儲的鍵值對通過鍵來標識,所以鍵值不能重復。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved