Java中 Array、Arrays與ArrayList


一、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]); } } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM