JAVA ArrayList案例(存储字符串并遍历、存储学生对象并遍历)

简介: JAVA ArrayList案例(存储字符串并遍历、存储学生对象并遍历)!

1. 案例:存储字符串并遍历

需求:

创建一个存储字符串的集合,存储3个字符串元素,使用程序实现在控制台遍历该集合。

分析:

(1)创建集合对象;

(2)往集合中添加字符串对象;

(3)遍历集合,首先要能够获取到集合中的每一个元素,通过get(int index)实现;

(4)遍历集合,其次要能够获取到集合的长度,通过size()方法实现;

(5)遍历集合的通用格式:

for(inti=0; i<集合对象.size(); i++){
集合对象.get(i)就是指定索引处的元素}


完整代码:

packageArrayList;
importjava.util.ArrayList;
publicclassArrayList2 {
publicstaticvoidmain(String[] args) {
ArrayList<String>array=newArrayList<>();
array.add("hellow");
array.add("world");
array.add("java");
for (inti=0; i<array.size(); i++){
Strings=array.get(i);
System.out.println(s);
        }
    }
}


运行结果:

hellowworldjava


2. 案例:存储学生对象并遍历

需求:

创建一个存储学生对象的集合,存储三个学生对象,使用程序实现在控制台遍历集合。

分析:

(1)定义学生类;

(2)创建集合对象;

(3)创建学生对象;

(4)添加学生对象到集合中;

(5)遍历集合,采用通用遍历格式实现

完整代码:

packageArrayList;
publicclassStudent {
privateStringname;
privateintage;
publicStudent(){}
publicStudent(Stringname,intage){
this.name=name;
this.age=age;
    }
publicvoidsetName(Stringname){
this.name=name;
    }
publicStringgetName(){
returnname;
    }
publicvoidsetAge(intage){
this.age=age;
    }
publicintgetAge(){
returnage;
    }
}


packageArrayList;
importjava.util.ArrayList;
publicclassArrayList3 {
publicstaticvoidmain(String[] args) {
//创建集合对象ArrayList<Student>array=newArrayList<Student>();
//创建学生对象Students1=newStudent("tom",3);
Students2=newStudent("Bob",4);
Students3=newStudent("Amy",6);
//添加学生对象到集合中array.add(s1);
array.add(s2);
array.add(s3);
//遍历集合,采用通用遍历格式实现for (inti=0; i<array.size(); i++){
Students=array.get(i);
System.out.println(s.getName()+","+s.getAge());
        }
    }
}

运行结果:

tom,3Bob,4Amy,6


3. 案例:存储学生对象并遍历

需求:

创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合,学生的姓名和年龄来自于键盘录入。

分析:

(1)定义学生类,为了键盘录入数据方便,把学生类中的成员变量都定义为String类型;

(2)创建集合对象;

(3)键盘录入学生对象所需要的数据;

(4)创建学生对象,把键盘录入的数据赋值给学生对象的成员变量;

(5)往集合中添加学生对象;

(6)遍历集合,采用通用遍历格式实现。

完整代码:

packageArrayList;
publicclassStudent {
privateStringname;
privateintage;
publicStudent(){}
publicStudent(Stringname,intage){
this.name=name;
this.age=age;
    }
publicvoidsetName(Stringname){
this.name=name;
    }
publicStringgetName(){
returnname;
    }
publicvoidsetAge(intage){
this.age=age;
    }
publicintgetAge(){
returnage;
    }
}


packageArrayList;
importjava.util.ArrayList;
importjava.util.Scanner;
publicclassArrayList4 {
publicstaticvoidmain(String[] args) {
ArrayList<Student1>array=newArrayList<>();
//为增加代码复用性,采用方法来实现addStudent1(array);
addStudent1(array);
addStudent1(array);
for (inti=0; i<array.size(); i++){
Student1s=array.get(i);
System.out.println(s.getName()+", "+s.getAge());
        }
    }
/*明确:返回值类型:void参数:ArrayList<Student1> array*/publicstaticvoidaddStudent1(ArrayList<Student1>array){
Scannersc=newScanner(System.in);
System.out.println("请输入学生名:");
Stringname=sc.nextLine();
System.out.println("请输入学生年龄:");
Stringage=sc.nextLine();
//创建学生对象Student1s=newStudent1();
s.setName(name);
s.setAge(age);
//在集合中添加学生对象array.add(s);
    }
}

运行结果:

请输入学生名:Tom请输入学生年龄:7请输入学生名:Bob请输入学生年龄:9请输入学生名:Amy请输入学生年龄:3Tom, 7Bob, 9Amy, 3


相关文章
|
26天前
|
存储 安全 Java
Java零基础-字符串详解
【10月更文挑战第18天】Java零基础教学篇,手把手实践教学!
99 60
|
25天前
|
安全 Java 编译器
Java对象一定分配在堆上吗?
本文探讨了Java对象的内存分配问题,重点介绍了JVM的逃逸分析技术及其优化策略。逃逸分析能判断对象是否会在作用域外被访问,从而决定对象是否需要分配到堆上。文章详细讲解了栈上分配、标量替换和同步消除三种优化策略,并通过示例代码说明了这些技术的应用场景。
Java对象一定分配在堆上吗?
|
16天前
|
缓存 算法 Java
本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制
在现代软件开发中,性能优化至关重要。本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制。通过调整垃圾回收器参数、优化堆大小与布局、使用对象池和缓存技术,开发者可显著提升应用性能和稳定性。
36 6
|
18天前
|
存储 Java 开发者
在 Java 中,如何遍历一个 Set 集合?
【10月更文挑战第30天】开发者可以根据具体的需求和代码风格选择合适的遍历方式。增强for循环简洁直观,适用于大多数简单的遍历场景;迭代器则更加灵活,可在遍历过程中进行更多复杂的操作;而Lambda表达式和`forEach`方法则提供了一种更简洁的函数式编程风格的遍历方式。
|
28天前
|
存储 安全 Java
Java编程中的对象序列化与反序列化
【10月更文挑战第22天】在Java的世界里,对象序列化和反序列化是数据持久化和网络传输的关键技术。本文将带你了解如何在Java中实现对象的序列化与反序列化,并探讨其背后的原理。通过实际代码示例,我们将一步步展示如何将复杂数据结构转换为字节流,以及如何将这些字节流还原为Java对象。文章还将讨论在使用序列化时应注意的安全性问题,以确保你的应用程序既高效又安全。
|
28天前
|
存储 缓存 NoSQL
一篇搞懂!Java对象序列化与反序列化的底层逻辑
本文介绍了Java中的序列化与反序列化,包括基本概念、应用场景、实现方式及注意事项。序列化是将对象转换为字节流,便于存储和传输;反序列化则是将字节流还原为对象。文中详细讲解了实现序列化的步骤,以及常见的反序列化失败原因和最佳实践。通过实例和代码示例,帮助读者更好地理解和应用这一重要技术。
26 0
|
3月前
|
存储 Java 索引
【Java集合类面试二十四】、ArrayList和LinkedList有什么区别?
ArrayList基于动态数组实现,支持快速随机访问;LinkedList基于双向链表实现,插入和删除操作更高效,但占用更多内存。
|
3月前
|
存储 Java 索引
Java 中 ArrayList 和 LinkedList 之间的区别
【8月更文挑战第22天】
117 1
|
6月前
|
存储 安全 Java
java面试基础 -- ArrayList 和 LinkedList有什么区别, ArrayList和Vector呢?
java面试基础 -- ArrayList 和 LinkedList有什么区别, ArrayList和Vector呢?
61 0
|
6月前
|
存储 安全 Java
[Java] 阿里一面~说一下ArrayList 与 LinkedList 区别
[Java] 阿里一面~说一下ArrayList 与 LinkedList 区别
154 1
下一篇
无影云桌面