Be alaways javaing...

          Loving Java
          posts - 43, comments - 5, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          1.Oracle
              對天數采用標準加減,使用ADD_MONTHS函數加減月數和年數

             例如 1)insertDate是數據庫表中的一個日期類型的字段
                       則 insertDate-5為前五天,同理insertDate+5為后五天
                       2) 若要獲得前一個月的時間,則 add_months(insertDate,-1);
                           若要獲得后一個月的時間,則 add_months(insertDate,1)
                       3)若要獲得前一年的時間,則 add_months(insetDate,-1*12)
                           若要獲得后一年的時間,則 add_months(insetDate, 1*12)
          2.MySQL
                同時使用標準加減和INTERVAL關鍵字,INTEVRAL 指定時間單位
             例如:insertDate - INTERVAL 1 day
                         insertDate + INTERVAL 1 day
                         insertDate - INTERVAL 1 month
                         insertDate - INTERVAL 1 year
                也可使用DATE_ADD(),ADDDATE(),SUBDATE()函數
                        DATE_ADD(insertDate,INTERVAL 5  day)      
                        DATE_ADD(insertDate,INTERVAL -5  day)
                        ADDDATE(),SUBDATE() 使用方法類似

          posted @ 2008-07-03 22:59 追風舞者 閱讀(214) | 評論 (0)編輯 收藏

          在Java中,容器主要包括:數組(Array)、集合(Collection)和映射(Map)三種。

          (1)數組Array:將數字與元素聯系起來,其中的元素都具有相同的數據類型,只能通過下標來訪問其元素;數組可以是一維的,也可以是多維的;數組一旦 生成,其容量就不能改變。數組是一種復合數據類型,在Java中,除了可以像“int[] array;”來聲明和表示一個數組,還可以用Array類來表示一個數組,同樣地,JDK類庫還提供了Arrays類類操作數組,該類定義了對數組進行 操作的各種方法(賦值、排序、搜索、比較、查找元素等)。

          (2)集合Collection:是一個接口類,包括List、Set、Queue等子接口,其具體的實現類可以用來保存多個元素。這里只討論常用的子接 口List和Set的常用實現類。常用的List實現類有ArrayList、Vector和LinkedList等,常用的Set實現類有 HashSet、LinkedHashSet和TreeSet等。需要注意的是,List和Set有著很大的不同,主要包括是否允許元素重復和是否維護元 素的次序。

          (3)映射Map:保存相關聯的鍵值對。其具體的實現類可以將鍵映射到值,根據鍵得到值,因此,一個映射不能包含重復的鍵,但是允許有重復的值,每個鍵最 多只能映射到一個值。 常見的Map實現類有HashMap、Hashtable、LinkedHashMap和TreeMap等。

          為了討論的方便,下面以Array,List、Set、Map為分類來討論這幾種容器的使用特點。

          (1)Array:

              數組的使用很直接,主要是根據下表 來獲取其元素。其特點就是一旦生成,其容量不能改變,并且每個元素之間不允許有“空隙”。其使用實例可以參考電子工業出版社“寶典”系列之《Java JDK 實例寶典》(夏先波 編著),個人感覺這本書寫得不錯,給出了許多JDK類庫的具體使用實例,代碼的注釋也比較詳細,很適合初學者入門學習使用,如果看Java Doc 還是有不明白的地方,也可以參考此書:)

          (2)List:可用來存放多個元素,能夠自動擴充容量,能夠維護元素的次序,并且允許元素重復。

              (2.1)ArrayList類:最常用的List實現類,內部是通過數組實現的,它允許對元素進行快速的隨機訪問,但是要從ArrayList 的中間位置插入或者刪除    元素時,需要對數組進行復制、移動,代價比較高,因此,ArrayList適合隨機查找和遍歷,不適合插入和刪除。

              (2.2)Vector類:同ArrayList一樣,其內部也是通過數組實現的,不同的是,Vector支持線程的同步,能夠避免多線程同時寫而引起的不一致,但是實現線程的同步需要很高的代價,因此訪問Vector比ArrayList慢。

              (2.3)LinkedList類:見其名,該類與鏈表肯定有關系:)該類的內部是通過鏈表來實現的,很適合數據的動態插入和刪除,但是隨即訪問 和遍歷的速度比較慢。此外,該類還提供了List接口中沒有定義的方法,專門用于操作表頭和表尾元素,可以當作堆棧、隊列和雙向隊列使用。


          (3)Set:可用來存放多個元素,但是不允許元素重復(即不保存重復元素),也不能夠維護元素的次序。很直觀,聯想一下數學中的集合的概念就很好理解了。此外,需要注意的是,加入Set的元素必須定義equals()方法以確保對象的唯一性,如String對象。

              (3.1) HashSet類:采用散列函數對元素進行排序,是專門為快速查詢而設計的存入HashSet的對象必須定義hashCode()方法。

              (3.2)TreeSet類:采用紅黑樹的數據結構進行排序元素,使用它可以從Set中提取有序的序列。

              (3.3) LinkedHashSet類:內部使用散列以加快查詢速度,同時使用鏈表維護元素的插入次序,在使用迭代器遍歷時,會按插入次序顯示結果。


          (4)Map:可以用來存放相關聯的鍵值對,根據鍵得到值。常見的Map實現類有HashMap、Hashtable、LinkedHashMap和TreeMap。

              (4.1)HashMap類:一個最常用的Map,它根據鍵的hashCode值存儲數據,根據鍵可以直接獲取它的值,具有很快的訪問速度,但不支持線程同步。HashMap最多允許一條記錄的鍵為null,但是允許多條記錄的值為null。
              
              (4.2)Hashtable類:與HashMap類似,但是它不允許記錄的鍵或者值為null,支持線程同步,因而Hashtable在寫入數據時會很慢。

              (4.3)LinkedHashMap類:保存了記錄的插入順序,在用Iterator遍歷它時,先得到的記錄肯定時先插入的,在遍歷的時候比HashMap慢。

              (4.4)TreeMap類:能夠把它保存的記錄根據鍵排序,默認為升序排列。當用Iterator遍歷它時,得到的記錄是排過序的記錄。

          posted @ 2008-07-03 12:11 追風舞者 閱讀(213) | 評論 (0)編輯 收藏

          僅列出標題
          共5頁: 上一頁 1 2 3 4 5 
          主站蜘蛛池模板: 玛多县| 新源县| 定州市| 上虞市| 常熟市| 东乡族自治县| 偏关县| 贵溪市| 信阳市| 西乌珠穆沁旗| 福泉市| 新巴尔虎右旗| 古丈县| 昭苏县| 花莲市| 喀喇沁旗| 株洲市| 信丰县| 秭归县| 吴川市| 县级市| 云南省| 临海市| 镇江市| 姚安县| 洛宁县| 和林格尔县| 沙湾县| 夏津县| 台山市| 耿马| 禹城市| 西和县| 图们市| 天柱县| 措勤县| 南宫市| 宝山区| 修文县| 昂仁县| 德阳市|