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
|
18天前
|
Java 索引 容器
Java ArrayList扩容的原理
Java 的 `ArrayList` 是基于数组实现的动态集合。初始时,`ArrayList` 底层创建一个空数组 `elementData`,并设置 `size` 为 0。当首次添加元素时,会调用 `grow` 方法将数组扩容至默认容量 10。之后每次添加元素时,如果当前数组已满,则会再次调用 `grow` 方法进行扩容。扩容规则为:首次扩容至 10,后续扩容至原数组长度的 1.5 倍或根据实际需求扩容。例如,当需要一次性添加 100 个元素时,会直接扩容至 110 而不是 15。
Java ArrayList扩容的原理
|
16天前
|
缓存 算法 Java
本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制
在现代软件开发中,性能优化至关重要。本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制。通过调整垃圾回收器参数、优化堆大小与布局、使用对象池和缓存技术,开发者可显著提升应用性能和稳定性。
36 6
|
22天前
|
存储 Java 索引
Java中的数据结构:ArrayList和LinkedList的比较
【10月更文挑战第28天】在Java编程世界中,数据结构是构建复杂程序的基石。本文将深入探讨两种常用的数据结构:ArrayList和LinkedList,通过直观的比喻和实例分析,揭示它们各自的优势与局限,帮助你在面对不同的编程挑战时做出明智的选择。
|
18天前
|
存储 Java 开发者
在 Java 中,如何遍历一个 Set 集合?
【10月更文挑战第30天】开发者可以根据具体的需求和代码风格选择合适的遍历方式。增强for循环简洁直观,适用于大多数简单的遍历场景;迭代器则更加灵活,可在遍历过程中进行更多复杂的操作;而Lambda表达式和`forEach`方法则提供了一种更简洁的函数式编程风格的遍历方式。
|
22天前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
58 3
|
24天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
44 2
|
25天前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
14 2
|
2月前
|
存储 Java
Java编程中的对象和类
【8月更文挑战第55天】在Java的世界中,“对象”与“类”是构建一切的基础。就像乐高积木一样,类定义了形状和结构,而对象则是根据这些设计拼装出来的具体作品。本篇文章将通过一个简单的例子,展示如何从零开始创建一个类,并利用它来制作我们的第一个Java对象。准备好让你的编程之旅起飞了吗?让我们一起来探索这个神奇的过程!
31 10
|
2月前
|
存储 Java
Java的对象和类的相同之处和不同之处
在 Java 中,对象和类是面向对象编程的核心。
下一篇
无影云桌面