17 java 在 ArrayList 保存类的对象

创建一个studnet 类

package com.collection;

import java.io.ObjectInputStream.GetField;

public class Student {
	private int stuNo;//学号
	private String stuName;//姓名
	
	//构造函数
	public Student(int num,String name)
	{
		stuNo=num;
		stuName=name;
	}
	
	
	public void setStuName(String name)
	{
		this.stuName=name;
	}
	public void setStuNo(int num)
	{
		this.stuNo=num;
	}
	//返回 姓名
	public String getStuName()
	{
		return this.stuName;
		
	}
	//返回学号
	public int getStuNo()
	{
		return this.stuNo;
	}
	
	//默认方法
	@Override
	public String toString()
	{
		return "姓名:"+this.stuName+",学号:"+this.stuNo;
	}
	
	public String display()
	{
		return "姓名:"+this.stuName+",学号:"+this.stuNo;
	}

}

创建一个TestArrayList 类

package com.collection;

import java.util.ArrayList;

public class TestArrayList {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		ArrayList stuArray=new ArrayList<>();
		for (int i = 0; i < 5; i++) {
			Student stu=new Student(0000, "abc");
			stuArray.add(stu);
		}
		
		
		//将第一个元素设置
		Student stu1=new Student(1001, "Time");
		stuArray.set(0, stu1);
		//遍历输出
		  for(int i=0;i<stuArray.size();i++)
		{
			Student student=(Student)stuArray.get(i);
		System.out.println(student.display());
		}
		/*
		 姓名:Time,学号:1001
                         姓名:abc,学号:0
                        姓名:abc,学号:0
                         姓名:abc,学号:0
                         姓名:abc,学号:0
		 */
		//调用默认方法
		for(int i=0;i<stuArray.size();i++)
		{
			Student student=(Student)stuArray.get(i);
			System.out.println(student);
		}
	}

}


Java 中,可通过以下方法保存 ArrayList 对象: 1. 使用 Java 序列化机制 序列化是将 Java 对象转换为字节流的过程,以便将其存储在文件或通过网络传输。ArrayList 实现了 Serializable 接口,因此可以使用 Java 序列化机制来保存 ArrayList 对象。示例代码如下: ```java import java.io.*; import java.util.ArrayList; public class ArrayListSerializationDemo { public static void main(String[] args) { ArrayList<String> arrayList = new ArrayList<>(); arrayList.add("apple"); arrayList.add("banana"); arrayList.add("cherry"); try { FileOutputStream fos = new FileOutputStream("arraylist.ser"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(arrayList); oos.close(); fos.close(); System.out.println("ArrayList object is serialized successfully!"); } catch (IOException e) { e.printStackTrace(); } } } ``` 2. 使用文本文件 另一种保存 ArrayList 的方法是将其转换为字符串并保存在文本文件中。可以使用 PrintWriter 将字符串写入文件。示例代码如下: ```java import java.io.*; import java.util.ArrayList; public class ArrayListTextFileDemo { public static void main(String[] args) { ArrayList<String> arrayList = new ArrayList<>(); arrayList.add("apple"); arrayList.add("banana"); arrayList.add("cherry"); try { PrintWriter pw = new PrintWriter(new FileWriter("arraylist.txt")); for (String fruit : arrayList) { pw.println(fruit); } pw.close(); System.out.println("ArrayList object is saved to file successfully!"); } catch (IOException e) { e.printStackTrace(); } } } ``` 这两种方法都可以用于保存 ArrayList 对象,具体方法可以根据需求选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值