一個 List
[{F_CITY_NAME=徐州, CNT=1141}, {F_CITY_NAME=鎮江, CNT=577}]
一個Map變數的內部資料結構
{泰州非邊界=7, 宿遷無=26, 無錫省邊界=6, 常州非邊界=10, 淮安地市邊界=70, 南京null=21}
在jsp頁面中不能透過${list.size}取列表長度,而是
list的長度是:${fn:length(list)}
List是介面,List特性就是有序,會確保以一定的順序儲存元素.
ArrayList是它的實現類,是一個用陣列實現的List.
Map是介面,Map特性就是根據一個物件查詢物件.
HashMap是它的實現類,HashMap用hash表實現的Map,就是利用物件的hashcode(hashcode()是Object的方法)進行快速雜湊查詢.(關於雜湊查詢,可以參看>)
一般情況下,如果沒有必要,推薦程式碼只同List,Map介面打交道.
比如:List list = new ArrayList();
這樣做的原因是list就相當於是一個泛型的實現,如果想改變list的型別,只需要:
List list = new LinkedList();//LinkedList也是List的實現類,也是ArrayList的兄弟類
這樣,就不需要修改其它程式碼,這就是介面程式設計的優雅之處.
另外的例子就是,在類的方法中,如下宣告:
private void doMyAction(List list){}
這樣這個方法能處理所有實現了List介面的類,一定程度上實現了泛型函式.
如果開發的時候覺得ArrayList,HashMap的效能不能滿足你的需要,可以透過實現List,Map(或者Collection)來定製你的自定義類.
一個 List
[{F_CITY_NAME=徐州, CNT=1141}, {F_CITY_NAME=鎮江, CNT=577}]
一個Map變數的內部資料結構
{泰州非邊界=7, 宿遷無=26, 無錫省邊界=6, 常州非邊界=10, 淮安地市邊界=70, 南京null=21}
在jsp頁面中不能透過${list.size}取列表長度,而是
list的長度是:${fn:length(list)}
List是介面,List特性就是有序,會確保以一定的順序儲存元素.
ArrayList是它的實現類,是一個用陣列實現的List.
Map是介面,Map特性就是根據一個物件查詢物件.
HashMap是它的實現類,HashMap用hash表實現的Map,就是利用物件的hashcode(hashcode()是Object的方法)進行快速雜湊查詢.(關於雜湊查詢,可以參看>)
一般情況下,如果沒有必要,推薦程式碼只同List,Map介面打交道.
比如:List list = new ArrayList();
這樣做的原因是list就相當於是一個泛型的實現,如果想改變list的型別,只需要:
List list = new LinkedList();//LinkedList也是List的實現類,也是ArrayList的兄弟類
這樣,就不需要修改其它程式碼,這就是介面程式設計的優雅之處.
另外的例子就是,在類的方法中,如下宣告:
private void doMyAction(List list){}
這樣這個方法能處理所有實現了List介面的類,一定程度上實現了泛型函式.
如果開發的時候覺得ArrayList,HashMap的效能不能滿足你的需要,可以透過實現List,Map(或者Collection)來定製你的自定義類.