ArrayList类是一个可以动态修改的数组,与普通数组的区别就是它没有固定大小的限制,我们可以添加或删除元素。ArrayList继承了AbstractList,并实现了List接口。
ArrayList类位于java.util包中,使用前需要引入它,语法格式如下:
//引入ArrayList类
import java.util.ArrayList;
//初始化ArrayList
ArrayList<E> objectName = new ArrayList<>();
上面的E为泛型数据类型,用于设置objectName的数据类型,只能为引用数据类型。objectName为对象名。
1:ArrayList的基本操作
ArrayList类提供了很多有用的方法,添加元素到ArrayList可以使用add()方法,访问元素可以使用get()方法,修改元素使用set()方法,删除元素使用remove()方法,计算元素数量可以使用size()方法。示例如下:
//导入包
import java.util.ArrayList;
//排序
import java.util.Collections;
public class Test{
public static void main(String[] args){
//初始化
ArrayList<String> sites = new ArrayList<String>();
//添加元素
sites.add("red");
sites.add("blue");
sites.add("yellow");
sites.add("black");
//输出所有元素
System.out.println("-------------输出所有元素-------------");
System.out.println(sites);
//访问第二个元素
System.out.println("--------------访问第二个元素-----------");
System.out.println(sites.get(1));
//修改元素
sites.set(2,"pink");//第一个参数为索引位置,第二个参数为要修改的值
System.out.println("---------------把第三个元素修改为pink-----");
System.out.println(sites);
//删除元素
sites.remove(1);//删除第二个元素
System.out.println("-------------删除第二个元素-----------");
System..out.println(sites);
//计算ArrayList中元素数量
System.out.println("-------------现在元素数量为------------");
System.out.println(sites);
}
}
ArrayList中的元素实际上是对象,在以上实例中,数组列表元素都是字符串String类型。如果我们要存储其他类型,而<E>只能为引用数据类型,这是我们就需要使用到基本类型的包装类。比如:
//存放整数元素
ArrayList<Integer> li = new ArrayList<>();
//存放字符元素
ArrayList<Chacter> li = new ArrayList<>();
ArrayList排序
Collections类也是一个非常有用的类,位于java.util包中,提供的sort()方法可以对字符或者数字列表进行排序。
import java.util.ArrayList;
import java.util.Collections;
public class Test{
public static void main(String[] args){
//初始化
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
//添加元素
myNumbers.add(10);
myNumbers.add(45);
myNumbers.add(20);
myNumbers.add(68);
System.out.println("-------------存储数字,使用integer类型---------");
//遍历输出
for(int i : myNumbers){
System.out.println(i);
}
//排序
System.out.println("-------------对myNumbers进行排序---------------");
Collections.sort(myNumbers);
//输出排序后的元素
for(int i : myNumbers){
System.out.println(i);
}
}
}
ArrayList遍历
常用的有三种遍历方法:
import java.util.*;
public class Test{
public static void main(String[] args){
List<String> list = new ArrayList<String>();
list.add("red");
list.add("green");
list.add("yellow");
//1:for-each遍历
System.out.println("-------------1:使用for-each遍历-----------");
for(String str:list){
System.out.println(str);
}
//2:把链表变为数组相关的内容进行遍历
System.out.println("--------------2:转换为数组相关遍历----------");
String[] strArray = new String[list.size()];
list.toArray(strArray);
for(int i=0;i<strArray.length;i++){
System.out.println(strArray[i]);
}
//3:使用迭代器遍历
System.out.println("------------3:使用迭代器进行相关遍历---------");
Iterator<String> ite = list.iterator();
while(ite.hasNext()){
System.out.println(ite.next());
}
}
}
版权声明:本文为li_w_ch原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。