ArrayList的使用

简介: ArrayList的使用

eg 1:存储字符串并遍历

public class ArrayListDemo {
  public static void main(String[] args) {
    // 创建集合对象
    ArrayList array = new ArrayList();

    // 创建元素对象,并添加元素
    array.add("hello");
    array.add("world");
    array.add("java");

    // 遍历
    Iterator it = array.iterator();
    while (it.hasNext()) {
      String s = (String) it.next();
      System.out.println(s);
    }

    System.out.println("-----------");

    for (int x = 0; x < array.size(); x++) {
      String s = (String) array.get(x);
      System.out.println(s);
    }
  }
}

eg 2:ArrayList存储自定义对象并遍历

import java.util.ArrayList;
import java.util.Iterator;
class Student {
  private String name;
  private int age;

  public Student() {
    super();
  }

  public Student(String name, int age) {
    super();
    this.name = name;
    this.age = age;
  }

  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 class ArrayListDemo2 {
  public static void main(String[] args) {
    // 创建集合对象
    ArrayList array = new ArrayList();

    // 创建学生对象
    Student s1 = new Student("武松", 30);
    Student s2 = new Student("鲁智深", 40);
    Student s3 = new Student("林冲", 36);
    Student s4 = new Student("杨志", 38);

    // 添加元素
    array.add(s1);
    array.add(s2);
    array.add(s3);
    array.add(s4);

    // 遍历
    Iterator it = array.iterator();
    while (it.hasNext()) {
      Student s = (Student) it.next();
      System.out.println(s.getName() + "---" + s.getAge());
    }

    System.out.println("----------------");

    for (int x = 0; x < array.size(); x++) {
      // ClassCastException 注意,千万要搞清楚类型
      // String s = (String) array.get(x);
      // System.out.println(s);

      Student s = (Student) array.get(x);
      System.out.println(s.getName() + "---" + s.getAge());
    }
  }
}

目录
相关文章
ECS新旧实例数据及网络无缝迁移实操
一、背景 之前由于因为有业务变迁不得不更换实例,但是数据和网络需要做到同步,面对这样的需求,我们也是绞尽脑汁,仔细专研了阿里云的产品文档,最后解决了这个问题,这边整理一下实际操作过程,把踩过的坑记录一下。
3672 0
|
9月前
|
机器学习/深度学习 人工智能 编解码
ByteDance Research登Nature子刊:AI+冷冻电镜,揭示蛋白质动态
在生物医学领域,蛋白质的结构与功能研究至关重要。ByteDance Research团队开发的CryoSTAR软件,结合AI与冷冻电镜技术,通过深度学习模型、结构先验和异质性重构算法,成功解析了蛋白质的动态行为,尤其在处理结构异质性方面表现出色。该软件已在多个蛋白质体系中取得显著成果,如TRPV1通道蛋白的动态变化研究,为理解蛋白质功能及疾病机制提供了新思路。论文链接:https://www.nature.com/articles/s41592-024-02486-1
278 26
|
12月前
|
存储 JavaScript 前端开发
双向绑定和 vuex 是否冲突
双向绑定与Vuex在Vue.js中可以共存但需谨慎处理。双向绑定适用于组件内的简单状态管理,而Vuex用于管理应用的全局状态。两者结合使用时,应避免直接在组件中修改Vuex状态,以保持数据流的清晰和可预测性。
|
存储 算法 C语言
"揭秘C语言中的王者之树——红黑树:一场数据结构与算法的华丽舞蹈,让你的程序效率飙升,直击性能巅峰!"
【8月更文挑战第20天】红黑树是自平衡二叉查找树,通过旋转和重着色保持平衡,确保高效执行插入、删除和查找操作,时间复杂度为O(log n)。本文介绍红黑树的基本属性、存储结构及其C语言实现。红黑树遵循五项基本规则以保持平衡状态。在C语言中,节点包含数据、颜色、父节点和子节点指针。文章提供了一个示例代码框架,用于创建节点、插入节点并执行必要的修复操作以维护红黑树的特性。
257 1
|
7月前
|
资源调度 算法 数据可视化
基于IEKF迭代扩展卡尔曼滤波算法的数据跟踪matlab仿真,对比EKF和UKF
本项目基于MATLAB2022A实现IEKF迭代扩展卡尔曼滤波算法的数据跟踪仿真,对比EKF和UKF的性能。通过仿真输出误差收敛曲线和误差协方差收敛曲线,展示三种滤波器的精度差异。核心程序包括数据处理、误差计算及可视化展示。IEKF通过多次迭代线性化过程,增强非线性处理能力;UKF避免线性化,使用sigma点直接处理非线性问题;EKF则通过一次线性化简化处理。
216 14
|
XML 开发框架 .NET
LabVIEW中加载.NET 2.0,3.0和3.5程序集
LabVIEW中加载.NET 2.0,3.0和3.5程序集
314 4
|
XML JSON Go
微服务架构下的配置管理:Go 语言与 yaml 的完美结合
微服务架构下的配置管理:Go 语言与 yaml 的完美结合
|
11月前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9-2):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
|
12月前
|
算法
递归和迭代详解
递归和迭代详解
357 1
|
数据可视化 Python
时间序列分析是一种统计方法,用于分析随时间变化的数据序列。在金融、经济学、气象学等领域,时间序列分析被广泛用于预测未来趋势、检测异常值、理解周期性模式等。在Python中,`statsmodels`模块是一个强大的工具,用于执行各种时间序列分析任务。
时间序列分析是一种统计方法,用于分析随时间变化的数据序列。在金融、经济学、气象学等领域,时间序列分析被广泛用于预测未来趋势、检测异常值、理解周期性模式等。在Python中,`statsmodels`模块是一个强大的工具,用于执行各种时间序列分析任务。