Java中ArrayList类的常用方法
?????????ArrayList對象是可變數組,可以不設置長度。下面介紹一些常用方法。該對象是從0下標開始計算的。主要分成四個部分,增加元素,刪除元素,修改元素,查找元素。
? ? ? ? 是有序的
目錄
一、增加元素
二、刪除元素
三、修改元素值
四、查找元素
????????(1)查找返回元素值
????????(2)查找返回boolean值
????????(3)查找返回int值
五、將ArrayList轉換成數組 toArray().
例題:? ? ? ?激光樣式
一、增加元素
????????add(Object num);? //從ArrayList對象的最末尾處添加num值,即在以ArrayList對象的長度的下標處的值設置為num.?
? ? ? ?提供一個重載方法,add(int index,Object num); //可以在index下標插入num值,index后面的元素全部后移一位。
? ? ? ? 代碼示例:
import java.util.ArrayList;public class Test {public static void main(String[] args) {ArrayList<Integer> list = new ArrayList<Integer>();list.add(10);list.add(20);list.add(1);list.add(2);list.add(2,100); //在2索引下插入100System.out.println(list);// 輸出 [10, 20, 100, 1, 2]} }二、刪除元素
? ? ? ? remove(int index); //刪除索引為index的元素
? ? ? ? 重載函數,remove(Object obj); // 刪除ArrayList對象中存在obj的元素,刪除成功返回true,失敗返回false;
? ? ? ? 代碼示例:
import java.util.ArrayList;public class Test {public static void main(String[] args) {ArrayList<Integer> list = new ArrayList<Integer>();list.add(10);list.add(20);list.add(1);list.add(2);list.add(50);list.remove(3); //刪除下標為3的元素System.out.println(list); // 輸出 [10, 20, 1, 50]System.out.println(list.remove((Object)90)); //刪除值為90的元素,明顯刪除失敗 返回 falseSystem.out.println(list); //輸出 [10, 20, 1, 50]} }三、修改元素值
?????????set(int index, Object num);? // 將ArrayList對象的第index下標的元素的值修改為num。
? ? ? ? 代碼示例:
import java.util.ArrayList;public class Test {public static void main(String[] args) {ArrayList<Integer> list = new ArrayList<Integer>();list.add(10);list.add(20);list.add(1);list.add(2);list.add(50);list.set(3, 999); //將下標為3的元素修改為999System.out.println(list); // 輸出 [10, 20, 1, 999, 50]} }四、查找元素
????????(1)查找返回元素值
????????????????Object get(int index);? //返回ArrayList對象第 index 下標的元素的值。
? ? ? ? 代碼示例:
import java.util.ArrayList;public class Test {public static void main(String[] args) {ArrayList<Integer> list = new ArrayList<Integer>();list.add(10);list.add(20);list.add(1);list.add(2);list.add(50);int num = list.get(3); //獲取到下標為3的元素System.out.println(num); //輸出2} }????????(2)查找返回boolean值
? ? ? ? ? ? ? ? ?boolean contains(Object obj)? ;? //查找對象元素里是否存在obj,存在返回true ,否則返回false;
?????????????????boolean isEmpty();? //對象為空返回true, 不為空返回false;
? ? ? ? 代碼示例:
import java.util.ArrayList;public class Test {public static void main(String[] args) {ArrayList<Integer> list = new ArrayList<Integer>();list.add(10);list.add(20);list.add(1);list.add(2);list.add(50);boolean num = list.contains(20); //確認list是否包含20System.out.println(num); //輸出trueSystem.out.println(list.isEmpty()); //判斷list是否為空 返回false} }????????(3)查找返回int值
????????????????int indexOf(Object obj); //查找對象元素里第一次出現的obj,則返回該下標,否則返回-1;
? ? ? ????????? int lastindexOf(Object obj); //查找對象元素里最后一次出現的obj,則返回該下標,否則返回-1;
? ? ? ? ????????int size();? //返回對象長度
? ? ? ? 代碼示例:
import java.util.ArrayList;public class Test {public static void main(String[] args) {ArrayList<Integer> list = new ArrayList<Integer>();list.add(10);list.add(20);list.add(50);list.add(2);list.add(50);list.add(50);int firstindex = list.indexOf(50); //返回list第最后一次出現50的下標int endindex = list.lastIndexOf(50); //返回list最后一次出現50的下標System.out.println(firstindex); //輸出2System.out.println(endindex); //輸出5System.out.println(list.size()); //list的大小 輸出6} }五、將ArrayList轉換成數組 toArray().
?????返回的是一個對象數組
? ? ? ? 代碼示例:
import java.util.ArrayList;public class Test {public static void main(String[] args) {ArrayList<Integer> list = new ArrayList<Integer>();list.add(10);list.add(20);list.add(50);list.add(2);list.add(50);Object[] nums = new Object[list.size()];nums = list.toArray();for(Object i : nums) {System.out.print(i+" "); }} }????????
例題:? ? ? ?激光樣式
這道題就可以用ArrayList類來存儲數據。
題解:
import java.util.ArrayList;public class Main {public static void main(String[] args) {ArrayList<Integer> list = new ArrayList<Integer>();list.add(2);list.add(3);for(int i =2 ;i<30;i++) {list.add(list.get(i-1)+list.get(i-2));}System.out.println(list.get(29));}}????????此外,ArrayList類常和HashMap類搭配,用來存儲一張二維表。每行表示的是ArrayList對象的元素,每行對應的多個列則就是HashMap類中key = value 的形式存儲的。
六、對ArrayList數組排序
? ? ? ? 使用的是Collections.sort(List<T> list);不是系統自帶的包裝類不可以排序,需要重寫函數
? ? ? ? 代碼示例:
import java.util.ArrayList; import java.util.Collections;public class Test {public static void main(String[] args) {ArrayList<Integer> list = new ArrayList<Integer>();list.add(1);list.add(100);list.add(50);Collections.sort(list); System.out.println(list); //輸出[1, 50, 100]} }總結
以上是生活随笔為你收集整理的Java中ArrayList类的常用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 讯飞+按键精灵实现语音控制电脑
- 下一篇: 反垃圾邮件产品测试评价方法