Java ArrayList

本文详细介绍了ArrayList的使用,包括其构造方法、增删改查操作,以及遍历方式。示例代码展示了如何初始化ArrayList,添加、删除、修改元素,以及遍历ArrayList的多种方法。此外,还提供了完整的ArrayList用法示例。
摘要由CSDN通过智能技术生成

什么是ArrayList?

ArrayList类是一个特殊的数值——动态数组。

实现所有可选列表操作,并允许所有元素,包括null。


使用方法:

一、构造方法

1、不初始化容量

//不初始化刚开始的数组容量,当数组容量满时数组会自动一当前数组容量的2倍扩容
ArrayList arr1 = new ArrayList(); 

2.、初始化容量

//初始容量为3
ArrayList arr2 = new ArrayList(3);

3、用一个集合或数组初始化

//a为集合或数组
ArrayList arr3 = new ArrayList(a);

二、增删改查

返回值类型

方法和解释

boolean(增)

add("a"); 将指定的元素'a'追加到此列表的末尾。

ArrayList arr = new ArrayList(); //初始化数组,下面各种方法省略初始化    
arr.add("a");    //往数组里添加元素

void(增)

add(int index, “a”); 在此列表中的指定位置插入'a'。

arr.add(0,"a"); //0为第一个

void(删)

clear();  从列表中删除所有元素。

arr.clear();

Object(删)

remove(Objec/int index); 从列表中删除指定位置处的元素,返回该元素。

1、在列表里删除元素(根据对象删除)

2、根据下标删除ArrayList的元素

arr.remove("a");
arr.remove(0);

Object(改)

set(int index\Object,Object); 

1、在列表里替换元素(根据对象删除)

2、根据下标替换ArrayList的元素

arr.set("0,"b");
arr.set("a","b");

Object(查)

get(int index); 

System.out.println("第1个元素是:" + list.get(0));

 三、遍历方法

索引值遍历

for(int i = 0; i < arrayList.size(); i++){
   System.out.print(arrayList.get(i) + " ");
}

for遍历

for(Integer number : arrayList){
   System.out.print(number + " ");
}

 迭代器遍历

方法一:

Iterator<Integer> it = arrayList.iterator();
while(it.hasNext()){
    System.out.print(it.next() + " ");
}

 方法二:

for(lterator it2 = list.ilerator();it2.hasNext();){
    System.out.println(it2.next());
}

四、案例

最简单的例子:

public static void main(String[] args) {
        ArrayList arrayList = new ArrayList();
        //给数组增加10个元素
        for (int i = 0; i < 10; i++)  arrayList.add(i);
        //将第6个元素移除
        arrayList.remove(5);
        //再增加3个元素
        for (int i = 0; i < 3; i++) arrayList.add(i+20);
        //遍历
        for(int i = 0; i < arrayList.size(); i++) 
            System.out.print(arrayList.get(i) + " ");
    }

 ArrayList用法示例

/**
 * @author GongchuangSu
 * @since 2016.05.10
 *————————————————
 *版权声明:本文为CSDN博主「GongchuangSu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附
 *上原文出处链接及本声明。
 *原文链接:https://blog.csdn.net/GongchuangSu/article/details/51514389
 */
import java.util.ArrayList;
import java.util.Iterator;

public class ArrayListDemo {

    public static void main(String[] srgs){
         ArrayList<Integer> arrayList = new ArrayList<Integer>();

         System.out.printf("Before add:arrayList.size() = %d\n",arrayList.size());

         arrayList.add(1);
         arrayList.add(3);
         arrayList.add(5);
         arrayList.add(7);
         arrayList.add(9);
         System.out.printf("After add:arrayList.size() = %d\n",arrayList.size());

         System.out.println("Printing elements of arrayList");
         // 三种遍历方式打印元素
         // 第一种:通过迭代器遍历
         System.out.print("通过迭代器遍历:");
         Iterator<Integer> it = arrayList.iterator();
         while(it.hasNext()){
             System.out.print(it.next() + " ");
         }
         System.out.println();

         // 第二种:通过索引值遍历
         System.out.print("通过索引值遍历:");
         for(int i = 0; i < arrayList.size(); i++){
             System.out.print(arrayList.get(i) + " ");
         }
         System.out.println();

         // 第三种:for循环遍历
         System.out.print("for循环遍历:");
         for(Integer number : arrayList){
             System.out.print(number + " ");
         }

         // toArray用法
         // 第一种方式(最常用)
         Integer[] integer = arrayList.toArray(new Integer[0]);

         // 第二种方式(容易理解)
         Integer[] integer1 = new Integer[arrayList.size()];
         arrayList.toArray(integer1);

         // 抛出异常,java不支持向下转型
         //Integer[] integer2 = new Integer[arrayList.size()];
         //integer2 = arrayList.toArray();
         System.out.println();

         // 在指定位置添加元素
         arrayList.add(2,2);
         // 删除指定位置上的元素
         arrayList.remove(2);    
         // 删除指定元素
         arrayList.remove((Object)3);
         // 判断arrayList是否包含5
         System.out.println("ArrayList contains 5 is: " + arrayList.contains(5));

         // 清空ArrayList
         arrayList.clear();
         // 判断ArrayList是否为空
         System.out.println("ArrayList is empty: " + arrayList.isEmpty());
    }
}
/**
Before add:arrayList.size() = 0
After add:arrayList.size() = 5
Printing elements of arrayList
通过迭代器遍历:1 3 5 7 9 
通过索引值遍历:1 3 5 7 9 
for循环遍历:1 3 5 7 9 
ArrayList contains 5 is: true
ArrayList is empty: true
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值