日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java临时的api,JAVA API-day03

發布時間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java临时的api,JAVA API-day03 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

A

日期操作

java中的時間使用標準庫的Date表示,使用距離一個固定的點毫秒數表達一個特定的時間點。固定的時間點稱為紀元(1970-1-1 00:00:00);

java.util.Date 類封裝的日期及時間信息;

Date d=new Date();表示當前系統時間。

SimpleDateFormat:日期格式類:日期類和字符串格式之間轉化

format():將日期類型(Date)數據格式化為字符串(String)。Date-->String

parse();將字符串類型(java.lang.String)解析為日期類型(java.util.Date)。String-->Date

日期模式匹配字符

字符 含義 示例

y 年 yyyy年(2013年);yy年(13年)

M 月 MM月(02月);M月(2月)

d 日 dd日(06日);d日(6日)

E 星期 E--星期日(sun)

H 小時(24小時制)

h 小時(12小時制)

m 分鐘 m:1分鐘;mm:01分鐘

s 秒 ss:02秒;s:2秒

a am或者pm表示

Calendar類

java.Util.Calendar類用于封裝日歷信息,起主要作用在于其他方法對于時間分量可以運算。Calendar類是一個抽象類。獲取Calendar類對象如下:

Calendar c=Clendar.getInstance():當前系統時間

月份 : 一月 二月 三月.....

Calendar.MONTH: 0 1 2.....

星期: 星期天 星期一 星期二 星期三 ...

Calendar.DAY_OF_WEEK: 1 2 3 4

通過Calendar設置日期:

Calendar c=Calendar.getInstance();

c.set.(Calendar.YEAR,2008);

c.set(Calendar.MONTH,Calendar.AUGUST);

C.set(Calendar.DATE,8);

getActualMaximum()獲取給定日歷字段的可能最大值

通過Calendar類獲取時間分量:

int year=c.get(Calendar.YEAR);

int month=c.get(Calendar.MONTH)+1;

int day=c.get(Calendar.DATE);

int week=c.get(Calendar.DAY_OF_WEEK)-1;

設置星期:

--如果當前日期是周日,那么設置的星期1-6日期往后推;

--如果當前日期不是周日,那么設置的星期小于當前的日期往前推,大于當前日期的往后推;如果是當前日期的不變。

c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);

(所取日期為當前日期的所在的同一個星期)

增加或減少時間分量

c.add(Calendar.YEAR,-1);//時間往前減少一年

c.add(Calendar.MONTH,1);//時間往后加一個月

c.add(Calendar.DATE,3);//時間往后加3天

復合框架

Collection(集合):有兩個子接口:List和set;List可重復集,set:不可重復集;

元素是否重復,取決于元素的eqauls方法比較的結果;

Collection list=new Array.List();

boolean add(E e):用于添加元素;

集合中儲存的都是引用類型的元素,并且集合只保存每個對象的引用,而并非將元素對象存入集合中。

boolean contains(Object o);該方法用于判定元素是否包含在該集合中,若包含返回true,反之返回false

[元素是否包含在集合中以equals比較結果決定。]

size();用于返回當前集合中的元素總數

clear();清空集合中的元素

isEmpty():該方法用于判斷當前集合是否為空;如果為空則返回true,反之返回flase

remove();刪除集合中的元素

get():獲取集合中的元素[List方法才能使用]

boolean addAll(Collection c);把傳入的集合元素添加到當前集合。

--List:有序可重復的;ArrayList()

--Set:無序不可重復的;HashSet()

重復性:是由集合中元素equals方法決定。

迭代器:Itertor:迭代器用于遍歷集合元素,如果想通過迭代器遍歷元素,首先要把集合轉化為迭代對象:Iterator iterator();

Iterator有兩個常用方法:

--boolean hasNext();判斷集合中是否還有元素可遍歷;

--next():返回迭代對象;

Iterator的remove()方法:從集合中刪除next()獲得的元素。在使用迭代器遍歷集合時,不能通過集合的remove()方法刪除否則會拋出異常。但是可

以通過迭代器自身提供的remove()方法刪除next()迭代出的元素

注意:1、迭代器的刪除方法是在原集合中刪除元素

2、在調用remove()方法前必須通過next()方法迭代過元素,那么刪除的就是這個元素。并且不能再次調用remove()方法,除非再next()

后方可以調用

增強型for循環:for(元素類型 變量:集合(數組)){}增強型for循環并非新的語法,而是在編譯過程中,編譯器會將該訓話轉換為迭代器模式,所以該

循環本質上是迭代器

如:

Set s=new HashSet();

for(String str:s){

System.out.println(str);

}

泛型機制:java泛型機制廣泛的應用到集合框架中,所有的集合類型都帶有泛型參數,這樣在創建集合是可以指定放入集合中元素的類型。java編譯器可以根

據此類型檢查,這樣可以減少代碼在運行時出現錯誤的可能性

集合操作---線性表

List接口是Collection接口的子接口,用于定義線性表數據結構;可以將List理解為存放對象的數組,只不過元素個數可以動態的增加和減少

1)List接口有兩個常見的實現類:ArrayList(動態數組)和LinkedList(鏈表)。兩種實現類的方法邏輯上完全一樣,但性能是有一些差別的;

ArrayList更適合隨機訪問;LinedList更適合添加和刪除,但是在性能要求不是很苛刻的情況下,是可以忽略這個差別的。

2)較Collection接口List所獨有的方法:

--E get(int index):獲取集合中指定下標對應的元素,下標是從零開始。

--E add(int index,E elment):將給定元素插入到指定位置,原來位置及后續元素都順序向后移動。

--E set(int index,E elment):(替換功能)將給定的元素存入指定位置,并將原位置的元素返回。

--E remove(int index):刪除給定位置的元素,并把被刪除的元素返回。

--List subList(int begin,int end):用于獲取List集合的子集合

注:由于集合中存放的是對像的地址,subList()獲取的是集合中對象的地址; 所以當對子集合或者原集合的修改都會影響到子集合和原集合彼此。

List轉換為數組:Collection接口有一個方法:toArray();作用:把集合轉化為數組

如:Object[] arr=list.toArray();

String[] arr1=l.toArray(new String[]{});

數組轉換為集合:static asList():Arrays類的靜態方法:把數組轉換為集合

如:list=Arrays.asList(arr);

集合轉換為數組時(toArray()):對轉換后的數組做增刪改的時候,不會拋出異常;

數組轉換為集合時(asList()):對轉換后的集合做增刪操作的時候會拋出異常;而做修改的時候不會拋出異常,但會對元數組產生影響。

List排序

對集合中的元素排序可以用工具類Collections.sort()方法,進行排序;那么兩個元素對象之間就一定要有大小之分,如何界定的?使用Collections的

sort排序的集合元素必須是實現了Comparable接口的實現類。該接口表示其子類是可以比較,因為實現該接口需要重寫一個方法:

---int compareTo(T t);該方法用于使用當前與給定對象比較。

--如果當前對象大于給定對象,那么返回值應為>0的整數;

--如果當前對象小于給定對象,那么返回值應為<0的整數;

--如果當前對象等于給定對象,那么返回值應為=0的整數;

一旦java實現了Comparable接口,其邏輯就已經確定,如果希望在排序的操作中臨時改變規則,可以采用Comparator接口實現。Comparator接

口也有一個需要重新定義的方法:

int compare(T t1,T t2)該方法用于使兩個給定對象比較。

--如果t1對象大于t2對象,那么返回值應為>0的整數;

--如果t1對象小于t2對象,那么返回值應為<0的整數;

--如果t1對象等于t2對象,那么返回值應為=0的整數;

隊列和棧:

Queue:是一種數據結構,可以將隊列看成一個特殊的線性表,隊列限制了對線性表的一些訪問方式;

隊列遵循先進先出的原則:想隊列中添加元素用方法:boolean offer(E e);

從隊列的另一端取元素方法:E poll():從隊首刪除并返回一個元素;E peek():返回隊首的元素但并不刪除。

---Queue的實現類是LinkedList;

Queue q=new LinkedList();

--Deque:是隊列的子接口,稱為雙端隊列;如果將Deque限制只能從一端入隊和出隊,則就實現了棧的數據結構,對于棧而言:入棧稱之

為push,出棧稱為pop;實現類是LinkedList。

1)push():向棧中添加元素;

2)pop();獲取棧中的元素。

總結

以上是生活随笔為你收集整理的java临时的api,JAVA API-day03的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。