一、Array類
Array類提供了動態創建和訪問Java數組的方法。
Array 允許在執行 get 或 set 操作期間進行擴展轉換,但如果發生收縮轉換,則拋出 IllegalArgumentException。
例如:下面是一個對象數組
public class Demo01Array { public static void main(String[] args) { /*對象數組:定義數組來承載對象 * 缺點:數組一旦確定長度,不可修改 * */ Person[] person = new Person[3]; Person one = new Person("小明",18); Person two = new Person("小李",28); Person three = new Person("小張",38); person[0] = one; //地址值
person[1] = two; //地址值
person[2] = three; //地址值
System.out.println(person[0].getName()); System.out.println(person[0].getAge()); } }
使用到的Person類
public class Person { //屬性
private String name; private int age; //方法
public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
二、ArrayList類
1.向ArrayList中添加元素,使用add()方法
import java.util.ArrayList;
public class Demo02ArrayList { public static void main(String[] args) { //創建了一個ArrayList集合,集合的名稱是list,類型為String //備注:從JDK1.7+右邊的尖括號可以不寫類型,但是尖括號必須有
ArrayList<String> list = new ArrayList<String>(); //向集合中添加數據,使用add()方法
list.add("小明"); list.add("小李"); list.add("小張"); System.out.println(list); } }
數組一旦確定,長度不可改變
但是ArrayList類長度是可以變化的,使用add()方法進行添加元素
注意事項:對於ArrayList集合來說,打印的不是地址值,而是內容
如果內容為空,則打印的結果是中括號[]
2.ArrayList中常用的方法
public boolean add(E e):向集合中添加元素,元素類型與泛型一致
public E get(int index):從集合中獲取元素,參數是索引編號,返回值是對應位置的元素
public E remove(int index):從集合中刪除元素,參數是索引編號,返回值是被刪除的元素
public int size():返回集合的長度
import java.util.ArrayList;
public class Demo03ArrayListMethod { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); //向集合中添加元素
list.add("安徽"); list.add("河北"); list.add("河南"); System.out.println(list); //從集合中獲取元素
System.out.println(list.get(1)); //從集合中刪除元素
System.out.println(list.remove(2)); System.out.println("刪除后的集合:"+list); } }
3.對ArrayList進行遍歷
import java.util.ArrayList; public class Demo04ArrayListEach { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); list.add("小明"); list.add("小李"); list.add("小張"); //對集合進行遍歷
for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } }
4.ArrayList中的泛型
集合的泛型只能是引用類型
如果想要使用基本數據類型,則需要將其轉換為對應的包裝類
基本數據類型 包裝類
byte Byte
short Short
int Integer 【特殊】
long Long
float Float
double Double
char Character 【特殊】
boolean Boolean
從JDK1.5開始可以自動實現裝箱和拆箱
自動裝箱:基本數據類型 --> 引用類型
自動拆箱: 引用類型 --> 基本數據類型
public class Demo05ArrayListBasic { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(); list.add(100); list.add(200); list.add(300); System.out.println(list.get(0)); } }
三、Arrays類
Arrays是一個與數組有關的類,提供了大量的靜態方法來操作數組。
public static String toString(數組):將數組轉換為字符串,默認格式為[元素1,元素2,元素3...]
public static void sort(數組):對參數數組按照升序(從小到大)進行排序
注意事項:
①如果對數字進行排序,則是按照數字的大小的順序進行排序
②如果對字符串進行排序,則是按照字母的先后的順序進行排序
import java.util.Arrays; public class Demo01Arrays { public static void main(String[] args) { //將數組轉換為字符串
int[] arr1 = {1,2,3}; String str = Arrays.toString(arr1); System.out.println("(1)將數組轉換為字符串:"+str); //對整型數組進行排序
int[] arr2 = {45,21,2,24,35,26}; Arrays.sort(arr2); System.out.println("(2)對數組進行排序:"+Arrays.toString(arr2)); //對字符串數組進行排序
String[] str1 = {"abc","bcd","cde"}; Arrays.sort(str1); System.out.println("(3)對字符串數組進行排序:"+Arrays.toString(str1)); } }
小練習:對給定的字符串,按照升序排序並進行倒序打印
public class Demo02ArraysPractise { public static void main(String[] args) { String str = "123daeffcsgrduirjr7tadwQG"; //將字符串轉換為數組
char[] chars = str.toCharArray(); //按照升序排列
Arrays.sort(chars); //將字符數組倒序排列
for (int i = chars.length - 1; i >= 0; i--) { System.out.println(chars[i]); } } }
