1. 程式人生 > >(1)StringBuilder類和StringBuffer類 (2)日期相關的類 (3)集合框架 (4)List集合

(1)StringBuilder類和StringBuffer類 (2)日期相關的類 (3)集合框架 (4)List集合

pen 存在 子集 delet retain contain 基本概念 包裝 1.0

1.StringBuilder類和StringBuffer類(查手冊會用即可)
1.1 基本概念
由於String類描述的字符串內容無法更改,若程序中出現大量類似的字符串時需要申請獨立的內存空間單獨保存,此時對內存空間的消耗比較大。
為了節省內存空間希望對字符串內容本身直接進行更改,則需要使用java.lang.StringBuilder類或者java.lang.StringBuffer類。
其中StringBuffer類是從jdk1.0開始存在,是一個線程安全的可變字符序列,效率比較低
其中StringBuilder類是jdk1.5開始存在,是一個非線程安全的可變字符序列,效率比較高

1.2 常用的方法
StringBuilder(String str) - 根據參數指定的字符串內容來構造對象。
- 默認初始容量為:16 + 參數字符串的長度。
int capacity() - 用於獲取調用對象的容量並返回。
int length() - 用於獲取調用對象的長度/字符的個數。

StringBuilder insert(int offset, String str)
- 用於將參數指定的字符串內容插入到調用對象中下標為offset的位置上並返回。
- 返回調用對象的引用,也就是調用對象自己。
StringBuilder append(String str)
- 用於將參數指定的字符串內容追加到調用對象的末尾。
StringBuilder delete(int start, int end)
- 用於從當前字符串中將start(含)開始到end(不含)結尾的內容移除
StringBuilder replace(int start, int end, String str)
- 用於從當前字符串中將start開始到end結尾之間的內容使用str的內容替換掉
StringBuilder reverse()
- 用於實現字符串內容的反轉。

2.日期相關的類(查手冊會用即可)
2.1 Date類
(1)基本概念
java.util.Date類用於描述特征的瞬間,可以精確到毫秒。
(2)常用的方法
Date() - 無參構造方法,主要用於描述當前系統時間。
Date(long date) - 根據參數指定的毫秒數來構造對象。
- 其中參數為距離1970年1月1日0時0分0秒以來的毫秒數。
- 與File類的成員方法通常搭配使用。
long getTime()
- 用於獲取調用對象距離1970年1月1日0時0分0秒的毫秒數。
void setTime(long time)
- 用於設置調用對象為距離1970年1月1日0時0分0秒的time毫秒。

2.2 SimpleDateFormat類
(1)基本概念
java.text.SimpleDateFormat類用於實現日期和文本類型之間的轉換。

(2)常用的方法
SimpleDateFormat(String pattern) - 根據參數指定的格式字符串來構造對象。
- 字符串格式:y代表年 M代表月 d代表日 H代表時 m代表分 s代表秒
public final String format(Date date)
- 用於將參數指定的日期對象按照調用對象指定的格式轉換為字符串。
public Date parse(String source) throws ParseException
- 用於將參數指定的字符串按照調用對象指定的格式轉換為日期對象。

2.3 Calendar類
(1)基本概念
java.util.Calendar類用於描述年月日時分秒信息,取代了Date類中的很多過時方法。

(2)常用的方法
static Calendar getInstance() - 用於獲取Calendar類型的引用並返回。
void set(int year, int month, int date, int hourOfDay, int minute, int second)
- 用於設置年月日時分秒信息,月份-1作為實參。
Date getTime() - 用於將Calendar類型的對象轉換為Date類型的對象並返回。

3.集合類(重點)
復習:
當需要在程序中記錄單個數據內容時,則聲明一個變量即可;
當需要在程序中記錄多個類型相同的數據內容時,則聲明一個數組即可;
當需要在程序中記錄多個類型不同的數據內容時,則聲明一個類即可;
當需要在程序中記錄多個類型相同的對象時,則聲明一個對象數組即可;
當需要在程序中記錄多個類型不同的對象時,則聲明一個集合處理即可;

3.1 數組和集合的比較(筆試題)
(1)數組的特點
數組本質上就是一段連續的存儲單元,用於記錄多個類型相同的數據內容;
數組一旦聲明完畢,則長度固定無法更改;
數組增刪元素不方便,可能會造成大量元素的移動;
數組支持下標訪問,可以實現隨機訪問;
數組元素可以是基本數據類型,也可以是引用數據類型;

(2)集合的特點
集合的存儲單元可以連續也可以不連續,元素類型可以相同也可以不相同;
集合一旦聲明完畢,則長度可以隨時動態調整;
集合增刪元素可以不移動大量的元素;
集合部分支持下標訪問部分不支持;
集合中的元素必須都是引用數據類型,因此可能借助包裝類;

3.2 集合框架
在Java語言中集合框架的頂層接口是:java.util.Collection 和 java.util.Map。
其中Collection集合中操作元素的基本單位是:單個元素。
其中Map集合中操作元素的基本單位是:單對元素。

在以後的開發中很少直接使用Collection集合,而是更多的使用該集合的子集合:List集合、Queue集合以及Set集合。

3.3 Collection集合的常用方法(練熟、記住)
boolean add(E e) - 用於將參數指定的元素e放入當前集合中。
- 若放入成功則返回true,否則返回false。
boolean addAll(Collection<? extends E> c)
- 用於將參數指定集合c中的所有元素一個個放入當前集合中。
- 當前集合中的元素發生改變則返回true,否則返回false。

boolean contains(Object o)
- 用於判斷當前集合中是否包含參數指定的單個元素。
boolean containsAll(Collection<?> c)
- 用於判斷當前集合中是否包含參數指定的所有元素。

boolean remove(Object o)
- 用於從當前集合中刪除參數指定的單個元素。
boolean removeAll(Collection<?> c)
- 用於從當前集合中刪除參數指定集合中的所有元素。
void clear()
- 用於清空當前集合中的所有元素。

boolean retainAll(Collection<?> c)
- 用於計算當前集合和參數集合的交集並保留到當前集合中,覆蓋當前集合原來內容
- 若當前集合中的元素發生改變則返回true,否則返回false。
int size() - 用於返回集合中元素的個數。
boolean isEmpty() - 用於判斷當前集合是否為空。

(1)StringBuilder類和StringBuffer類 (2)日期相關的類 (3)集合框架 (4)List集合