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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 编写方法和属性,编写一个关于教
- 下一篇: php sqlite3 sql,在PHP