List结构的集合基础(一)ArrayList类

前提:

引入java.util包

语法结构:

创建ArrayList集合类:

ArrayList <泛型> 集合名=new ArrayList <>();    

集合元素的加入:

集合名.add(对象名)

集合的遍历(举例),用于改和查:

for(int i=0;i<list.size();i++)
{ 
	Clerk temp=(Clerk)list.get(i);    //用一个暂时变量来承载下标为i的对象的数据
	//System.out.println(temp.name);  //可以将其进行输出-
}

集合元素的删除:

集合名.remove(index)

代码实现:

import java.util.*;    
public class Test1 {    
	public static void main(String[] args)
	{
		ArrayList <Clerk> list=new ArrayList <>();    //创建一个Clerk类的ArrayList类集合
		Clerk clerk1=new Clerk("周卫国",32,5000);     //创建三个对象
		Clerk clerk2=new Clerk("方天翼",28,8000);
		Clerk clerk3=new Clerk("炎帝",20,100000);
		list.add(clerk1);                             //添加三个对象
		list.add(clerk2);
		list.add(clerk3);
		for(int i=0;i<list.size();i++)                //进行遍历
		{
			Clerk temp=(Clerk)list.get(i);
			System.out.println(temp.getName()+" "+temp.getAge()+" "+temp.getSalary());
		}
		
		System.out.println();
		list.remove(clerk2);                          //移除clerk2对象
		for(int i=0;i<list.size();i++)                //遍历输出信息
		{
			Clerk temp=list.get(i);               
			System.out.println(list.get(i).getName());
			System.out.println(temp.getName()+" "+temp.getAge()+" "+temp.getSalary());
		}
		
		System.out.println();
		for(int i=0;i<list.size();i++)                //遍历修改周卫国的薪资
		{
			Clerk temp=list.get(i);
			if(temp.getName().equals("周卫国"))
				temp.setSalary(10000);
		}
		for(int i=0;i<list.size();i++)                //遍历输出信息
		{
			Clerk temp=list.get(i);
			System.out.println(list.get(i).getName());
			System.out.println(temp.getName()+" "+temp.getAge()+" "+temp.getSalary());
		}
	}
}
class Clerk                                                  //员工类
{
	private String name;
	private int age;
	private double salary;
	Clerk(String name,int age,double salary)
	{
		this.name=name;
		this.age=age;
		this.salary=salary;
	}
	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;
	}
	public double getSalary() {
		return salary;
	}
	public void setSalary(double salary) {
		this.salary = salary;
	}
}

结果显示:

周卫国 32 5000.0
方天翼 28 8000.0
炎帝 20 100000.0

周卫国
周卫国 32 5000.0
炎帝
炎帝 20 100000.0

周卫国
周卫国 32 10000.0
炎帝
炎帝 20 100000.0

优点:

可以灵活的增删改查,不需要跟数组一样规定个数限制


   欢迎各位在评论区讨论~~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狮子座的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值