2019-10-21-23:30:24 ArrayList類[集合] What:java.util.ArrayList是大小可變的數組的實現,存儲在內的數據稱為元元素,此類提供一些方法來操作內部存儲的元素 Why:ArrayList大小可變,所以AttayList中可不斷添加元素,其大小也自動增長。 ...
2019-10-21-23:30:24
ArrayList類[集合]
What:java.util.ArrayList是大小可變的數組的實現,存儲在內的數據稱為元元素,此類提供一些方法來操作內部存儲的元素
Why:ArrayList大小可變,所以AttayList中可不斷添加元素,其大小也自動增長。
1.數組的長度不可以發生改變,但是ArrayList集合的長度是可以發生改變的
How:ArrayList<E> 對象名 = new ArrayList<E>();
<E>叫做泛型,表示一種指定的數據類型,可以使用一種引用數據(不能是基本類型來替換)類型將其替換,右側的E可以省略不寫
註意事項:
1.ArrayList集合來說,直接列印得到的是內容,不是地址值,而數組列印得到的是地址值
2.如果內容為空,列印得到的是中括弧,[]
常用方法
1.public boolean add(E e); 向集合當中添加元素,參數的類型和泛型一致。返回值代表添加是否成功。
備註:對於Arraylist集合來說,add添加動作一定是成功的,所以返回值可用可不用。但是對於其他集合(今後學習)來說,add添加動作不一定成功.
2.public E remove(int index): 從集合當中冊除元素,參數是索引編號,返回值就是被刪除掉的元素
3.public E get(int index), 從集合當中獲取元素,參數是索引編號,返回值就是對應位置的元素。
4.public int size():獲取集合的尺寸長度,返回值是集合中包含的元素個數。
package demoarraylist; import java.util.ArrayList; public class ArrayListPra01 { public static void main(String[] args) { //創建一個ArrayList集合對象 ArrayList<String> arrayList = new ArrayList<>(); //先列印空集合 System.out.println(arrayList);//[] //向集合中添加元素 Boolean success = arrayList.add("蓋倫"); System.out.println(arrayList);//[蓋倫] System.out.println("添加的動作是否成功:"+success);//添加的動作是否成功:true arrayList.add("皇子"); arrayList.add("德邦"); arrayList.add("劍聖"); System.out.println(arrayList);//列印添加的元素 //從集合中獲取元素 System.out.println(arrayList.get(0));//蓋倫 System.out.println(arrayList.get(1));//皇子 System.out.println(arrayList.get(2));//德邦 System.out.println(arrayList.get(3));//劍聖 //刪除集合中的元素 String name = arrayList.remove(3); System.out.println("被刪除的是:"+name);//被刪除的是:劍聖 System.out.println(arrayList);//[蓋倫, 皇子, 德邦] //獲取集合的長度,也叫元素個數 int size = arrayList.size(); System.out.println("集合的長度是:"+size);//集合的長度是:3 } }
字元串:
What:java.lang.String類代表字元串.程式中所有的雙引號字元串,都是String類的對象
字元串的特點:
1.字元串的內容永不可變。[重點]
2.正是因為字元串不可改變,所以字元串是可以共用使用的。
3.字元串效果上相當於是char[ ]字元數組,但是底層原理是byte[ ]位元組數組。
創建字元串的常見3+1種方式。
三種構造方法:
public String(): 創建一個空白字元串,不含有任何內容。
public String(char[] array): 根據字元數組的內容,來創建對應的字元串。
public String(byte[] array): 根據位元組數組的內容,來創建對應的字元串。
一種直接創建:String str ="Hello"; //右邊直接用雙引號
註意:直接寫上雙引號,就是字元串對象。
package demostring; public class StringPra01 { public static void main(String[] args) { //使用空參構造 String str1 = new String(); //小括弧留空,說明字元串什麼內容都沒有。 System. out . println("第1個字元串:"+ str1); //根據字元數組創建字元串 char[] charArray = { 'A', 'B','C' }; String str2 = new String( charArray); System. out . println("第2個字元串:"+ str2);//第2個字元串:ABC //根據位元組數組創建字元串 byte[] byteArray = { 97, 98,99 }; String str3 = new String(byteArray); System.out.println("第3個字元串:"+ str3);//第3個字元串:abc //直接創建 String str4 = "Hello"; System.out.println("第四個字元串:"+str4);//第四個字元串:Hello } }
字元串常量池:
字元串的比較方法:
==是進行對象的地址值比較,如果確實需要字元串的內容比較,可以使用兩個方法
兩個方法:
public booleon equols(object obj),參數可以是任何對象,只有參數是一個字元串並且內容相同的才會給true,否則返回false.
public boolean equalsIgnoreCase(String str), 忽略大小寫,進行內容比較。
註意事項,
1.任何對象都能用0bject進行接收。
2. equals方法具有對稱性,也就是a. equals(b)和b. equals(a)效果一樣。
3.如果比較雙方一個常量一個變數,推薦把常量字元串寫在前面。
推薦: "abc".equats(str) ,不推薦str.equals( "abc ")
字元串的獲取方法
String當中與獲取相關的常用方法有:
public int length(),獲取字元串當中含有的字元個數,拿到字元串長度。
public String concat(String str): 將當前字元串和參數字元串拼接成為返回值新的字元串。
public char charAt(int index), 獲取指定索引位置的單個字元。(素引從0開始)
public int indexof(String str): 查找參數字元串在本字元串當中首次出現的索引位置,如果沒有返回-1值。
字元串的截取方法:
public string substring(int index); 截取從參數位置一直到字元串末尾,返回新字元串。
public String substring(int begin, int end); 截取從begin開始,一直到end結束,中間的字元串。
備註。[begin,end), 包含左邊,不包含右邊。
字元串的轉換:
public char[] toCharArray(); 將當前字元串拆分成為字元數組作為返回值。
public byte[] getBytes():獲得當前字元串底層的位元組數組。
public String replace(CharSequence oldString, CharSequence newString);
將所有出現的老字元串替換成為新的字元串,返回替換之後的結果新字元串。
備註: CharSequence意思就是 說可以接受字元串類型。
字元串的分隔:
public String[] split(String regex): 按照參數的規則,將字元串切分成為若幹部分。
註意事項:
split方法的參數其實是一個 “正則表達式”,今後學習。
今天要註意:如果按照英文句點“。進行切分。必須寫"\\." (兩個反斜杠)
有點晚了,後面的代碼明天再補回去