首页 > 编程语言 >Java基础教程:ArrayList入门

Java基础教程:ArrayList入门

时间:2023-01-15 10:05:14浏览次数:50  
标签:遍历 Java ArrayList System println 基础教程 集合 array out


1ArrayList类概述

  • 什么是集合

提供一种存储空间可变的存储模型,存储的数据容量可以发生改变

  • ArrayList集合的特点

底层是数组实现的,长度可以变化

  • 泛型的使用

用于约束集合中存储元素的数据类型

2ArrayList类常用方法

2.1构造方法

Java基础教程:ArrayList入门_python

 

2.2成员方法

Java基础教程:ArrayList入门_数据结构_02

 

2.3示例代码

public class ArrayListDemo02 {
public static void main(String[] args) {
//创建集合
ArrayList<String> array = new ArrayList<String>();

//添加元素
array.add("hello");
array.add("world");
array.add("java");

//public boolean remove(Object o):删除指定的元素,返回删除是否成功
// System.out.println(array.remove("world"));
// System.out.println(array.remove("javaee"));

//public E remove(int index):删除指定索引处的元素,返回被删除的元素
// System.out.println(array.remove(1));

//IndexOutOfBoundsException
// System.out.println(array.remove(3));

//public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
// System.out.println(array.set(1,"javaee"));

//IndexOutOfBoundsException
// System.out.println(array.set(3,"javaee"));

//public E get(int index):返回指定索引处的元素
// System.out.println(array.get(0));
// System.out.println(array.get(1));
// System.out.println(array.get(2));
//System.out.println(array.get(3)); //?????? 自己测试

//public int size():返回集合中的元素的个数
System.out.println(array.size());

//输出集合
System.out.println("array:" + array);
}
}

3ArrayList存储字符串并遍历

3.1案例需求

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

3.2代码实现

/*
思路:
1:创建集合对象
2:往集合中添加字符串对象
3:遍历集合,首先要能够获取到集合中的每一个元素,这个通过get(int index)方法实现
4:遍历集合,其次要能够获取到集合的长度,这个通过size()方法实现
5:遍历集合的通用格式
*/
public class ArrayListTest01 {
public static void main(String[] args) {
//创建集合对象
ArrayList<String> array = new ArrayList<String>();

//往集合中添加字符串对象
array.add("刘正风");
array.add("左冷禅");
array.add("风清扬");

//遍历集合,其次要能够获取到集合的长度,这个通过size()方法实现
// System.out.println(array.size());

//遍历集合的通用格式
for(int i=0; i<array.size(); i++) {
String s = array.get(i);
System.out.println(s);
}
}
}

4ArrayList存储学生对象并遍历

4.1案例需求

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

1.4.2代码实现

/*
思路:
1:定义学生类
2:创建集合对象
3:创建学生对象
4:添加学生对象到集合中
5:遍历集合,采用通用遍历格式实现
*/
public class ArrayListTest02 {
public static void main(String[] args) {
//创建集合对象
ArrayList<Student> array = new ArrayList<>();

//创建学生对象
Student s1 = new Student("林青霞", 30);
Student s2 = new Student("风清扬", 33);
Student s3 = new Student("张曼玉", 18);

//添加学生对象到集合中
array.add(s1);
array.add(s2);
array.add(s3);

//遍历集合,采用通用遍历格式实现
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
System.out.println(s.getName() + "," + s.getAge());
}
}
}

5ArrayList存储学生对象并遍历升级版

Java基础教程:ArrayList入门_编程语言_03

 

5.1案例需求

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

学生的姓名和年龄来自于键盘录入

5.2代码实现

/*
思路:
1:定义学生类,为了键盘录入数据方便,把学生类中的成员变量都定义为String类型
2:创建集合对象
3:键盘录入学生对象所需要的数据
4:创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
5:往集合中添加学生对象
6:遍历集合,采用通用遍历格式实现
*/
public class ArrayListTest {
public static void main(String[] args) {
//创建集合对象
ArrayList<Student> array = new ArrayList<Student>();

//为了提高代码的复用性,我们用方法来改进程序
addStudent(array);
addStudent(array);
addStudent(array);

//遍历集合,采用通用遍历格式实现
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
System.out.println(s.getName() + "," + s.getAge());
}
}

/*
两个明确:
返回值类型:void
参数:ArrayList<Student> array
*/
public static void addStudent(ArrayList<Student> array) {
//键盘录入学生对象所需要的数据
Scanner sc = new Scanner(System.in);

System.out.println("请输入学生姓名:");
String name = sc.nextLine();

System.out.println("请输入学生年龄:");
String age = sc.nextLine();

//创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
Student s = new Student();
s.setName(name);
s.setAge(age);

//往集合中添加学生对象
array.add(s);
}
}

标签:遍历,Java,ArrayList,System,println,基础教程,集合,array,out
From: https://blog.51cto.com/u_8238263/6008221

相关文章

  • java:Redis持久化
    一.redis持久化的介绍Redis的持久化指的是将内存中redis数据库运行的数据,写到硬盘文件上。Redis持久化的意义主要在于故障恢复,比如你部署一个Redis,作为缓存有可能里边有......
  • JavaScript 中搜索数组元素的四种方法
    在实际开发当中,我们经常会遇到类似诸如下面的需求:获取满足特定条件的数组中的所有项目要检查是否满足条件?检查数组中是否有特定值?在数组中找到指定值的索引?在本文中,我们将讨......
  • 《跟老卫学 HarmonyOS 开发》:DevEco Studio 启用Java预览器
    老版的DevEcoStudio只支持layout资源类型的XML文件的预览。在新版的DevEcoStudio已经能够支持 Ability/AbilitySlice的Java类文件的预览。新版的DevEcoStudio默认......
  • 【Java 数据结构及算法实战】系列 013:Java队列07——双端队列Deque
    双端队列(Deque),顾名思义是可以在队列的两端插入和移除元素的特殊队列。Java提供了java.util.Deque<E>接口以提供对双端队列的支持。该接口是JavaCollectionsFramework的一......
  • 【Java数据结构及算法实战】系列008:Java队列02——阻塞队列BlockingQueue
    阻塞队列(BlockingQueue)是一种支持额外操作的队列,这两个附加的操作是:l  在队列为空时,获取元素的线程会等待队列变为非空。l  当队列满时,存储元素的线程会等待队列可用。J......
  • Docker部署Java项目运行命令脚本
    项目名称x-schools-server部署教程cd/app/webapps/x-schools-server#全部移除cd/app/webapps/x-schools-serverdockerstop$(dockerps-aqf"name=x-schools-......
  • Java 设置windows系统Maven 环境变了
    ::添加环境变量BAT_HOME@echooffecho添加bat环境变量setregpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Environmentsetevname......
  • Java使用MyBatis-Plus生成动态数据库表XML配置
    <updateid="createSpiderTable"parameterType="com.quanchengle.app.spider.CreateSpiderTableAndTableName">CREATETABLEIFNOTEXISTS${tableName}(<if......
  • 04.Java基础语法
    一元运算符Java基础语法一、注释、标识符、关键字注释Java中的注释有三种:​ 单行注释​ 多行注释​ 文档注释publicclassHello_World{//两个斜杠就是一个......
  • Java反射机制
    概念反射是Java的特征之一,是一种间接操作目标对象的机制在JVM运行的时候会动态加载类,对于任意一个类都能获取到该类的所有属性和方法,对于任意一个对象,都能够调用它的任意......