回覆列表
  • 1 # 使用者1605103610676

    一個 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)來定製你的自定義類.

  • 中秋節和大豐收的關聯?
  • 中醫上是如何認識失眠的?