ArrayList概述、方法及应用

概念

ArrayList是集合的一种,支持索引

特点

  • 集合的大小不固定,可以动态变化
  • 集合提供很多方便好用的功能
  • 集合的类型不固定

注意 

需要import一个java.util.ArrayList;

构造器

public ArrayList() //创建一个空的集合

常用方法

1、public boolean add(E)

作用:将指定元素添加到集合末尾

package ArraryList;

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {
		//创建一个ArrayList对象
		ArrayList list = new ArrayList();
		list.add("Java");
		list.add("Java");
		list.add("yierkang");
		list.add(23);
		list.add(false);
		//以上添加的方法返回布尔类型,添加成功返回true,失败返回false
		System.out.println(list);
	}

}

运行结果

2、public boolean add(int index,E)

作用:将元素加入到指定位置,括号前是添加的位置,后是添加的元素

package ArraryList;

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {
		//创建一个ArrayList对象
		ArrayList list = new ArrayList();
		list.add("Java");
		list.add("Java");
		list.add("yierkang");
		list.add(23);
		list.add(false);
		//以上添加的方法返回布尔类型,添加成功返回true,失败返回false
		System.out.println(list);
		list.add(1,"插队!");
		//System.out.println(list);
	}
}

运行结果

3、Collections.addAll(E,element1,element2,...);

作用:批量添加元素到集合中

package ArraryList;
import java.util.ArrayList;
import java.util.Collections;//需要import一个java.util.Collections的包

public class test1 {

	public static void main(String[] args) {
		ArrayList<Integer> list = new ArrayList<>();
		Collections.addAll(list,98,77,66,89,79,50,100);
        //括号内第一个是要添加的集合,后边是添加的元素
		System.out.println(list);
	}

}

运行结果

  

注意:需要import一个java.util.Collections的包

 4、ArrayList<E>

作用:泛型,限制集合内的类型,括号内填数据类型(例如String,int,double等)

例如

ArrayList<String>;//只能操作字符串类型

ArrayList<Integer>;//只能操作整形类型

注意:集合只能存储引用类型,不支持基本类型

​​​​package ArraryList;

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {
		//创建一个ArrayList对象
		ArrayList<String> list2 = new ArrayList<String>();//jkd1.7以后后面的<>可以不用声明
		list2.add("Java");
		list2.add(23);//会产生报错,该集合不能添加除字符串以外的类型
	}

}

5、public E get(int index) 

作用:查找指定位置的元素值,括号内填查找的位置

package ArraryList;
import java.util.ArrayList;
public class Api {

	public static void main(String[] args) {
		ArrayList<String> list = new ArrayList();
		list.add("Java");
		list.add("MySQl");
		list.add("C#");
		System.out.println(list.get(2));//方法调用
        //跟数组一样,从0开始,取第二位
	}
}

运行结果

 6、public int size()

作用:返回集合的数量(元素个数)

package ArraryList;
import java.util.ArrayList;
public class Api {

	public static void main(String[] args) {
		ArrayList<String> list = new ArrayList();
		list.add("Java");
		list.add("MySQl");
		list.add("C#");
		System.out.println(list.size());//调用方法
        //返回值为整形
	}
}

运行结果

7、集合的遍历(不算方法)

package ArraryList;
import java.util.ArrayList;
public class Api {

	public static void main(String[] args) {
		ArrayList<String> list = new ArrayList();
		list.add("Java");
		list.add("MySQl");
		list.add("C#");
        //开始遍历
		for(int i=0;i<list.size();i++)
		{
			System.out.println(list.get(i));
		}
	}
}

 运行结果

8、public E remove(E element)

作用:移除集合中指定位置的元素并返回该元素

package ArraryList;
import java.util.ArrayList;
public class Api {

	public static void main(String[] args) {
		ArrayList<String> list = new ArrayList();
		list.add("Java");
		list.add("MySQl");
		list.add("C#");
        //输出被删除的元素
		System.out.println(list.remove(2));//调用方法
        //输出被删除后的集合
		System.out.println(list);
	}
}

运行结果

 9、public boolean remove("String E")

作用:直接删除指定元素,删除成功返回true,失败返回false(括号内输入具体要移除的元素)

package ArraryList;
import java.util.ArrayList;
public class Api {

	public static void main(String[] args) {
		ArrayList<String> list = new ArrayList();
		list.add("Java");
		list.add("MySQl");
		list.add("Java");
		list.add("C#");
		list.add("Ziggbee");
		System.out.println(list.remove("Java"));
		System.out.println(list);
	}
}

运行结果

注意:如果有重复的元素,优先且只删除最先出现的

10、public E set(int index,String E)

作用:修改指定索引位置的元素值,并返回被删除的值(括号前是要修改元素的位置,后边是修改后的元素)

package ArraryList;
import java.util.ArrayList;
public class Api {

	public static void main(String[] args) {
		ArrayList<String> list = new ArrayList();
		list.add("Java");
		list.add("MySQl");
		list.add("Java");
		list.add("C#");
		list.add("Ziggbee");
		System.out.println(list.set(3, "C++"));//调用方法
        //修改第3位的内容为“C++”
		System.out.println(list);
	}
}

运行结果

储存自定义类型的对象

Main

package ArraryList;
import java.util.ArrayList;
import java.util.Collections;
public class MovieMain {

	public static void main(String[] args) {
		ArrayList<Movie> list = new ArrayList<>();//添加类型为Movie类
		Movie m1 = new Movie("肖申克的救赎",9.8,"蒂姆·罗宾斯");
		Movie m2 = new Movie("霸王别姬",9.8,"张国荣、张丰毅");
		Movie m3 = new Movie("阿甘正传",9.8,"张国荣、张丰毅");
		Collections.addAll(list,m1,m2,m3);//批量导入
		//遍历集合的内容
		for(int i=0;i<list.size();i++) {
			System.out.println("电影名称:"+list.get(i).getName());
			System.out.println("电影分数:"+list.get(i).getScore());
			System.out.println("电影演员:"+list.get(i).getActor());
			System.out.println("---------------");
		}
	}

}

Movie类

package ArraryList;

public class Movie {
    //变量
	private String name;
	private double score;
	private String actor;
	//无参构造器
	public Movie() {
		// TODO 自动生成的构造函数存根
	}
    //有参构造器,用来存入数据
	public Movie(String name, double score, String actor) {
		super();
		this.name = name;
		this.score = score;
		this.actor = actor;
	}
    //get
	public String getName() {
		return name;
	}

	public double getScore() {
		return score;
	}

	public String getActor() {
		return actor;
	}
    //set
	public void setName(String name) {
		this.name = name;
	}

	public void setScore(double score) {
		this.score = score;
	}

	public void setActor(String actor) {
		this.actor = actor;
	}
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值