Java零基础入门到精通_Day 9

1.ArrayList

 编程的时候如果要存储多个数据,使用长度固定的数组存储格式,不一定满足我们的需求,更适应不了变化的需求,那么,此时该如何选择呢?
集 合

集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变集合类有很多,目前我们先学习一个:ArrayList

2.ArrayList构造方法和添加方法

package Base_one.Base_009;import java.util.ArrayList;public class ArrayListDemo1 {public static void main(String[] args) {
//      ArrayList<String> array =  new ArrayList<>();ArrayList<String> array =  new ArrayList<String>();System.out.println(array); //[]System.out.println(array.add("hello"));System.out.println(array);array.add("world");System.out.println(array);array.add(1,"javase");array.add(3,"javaee");System.out.println(array);array.add(5,"sed"); // .IndexOutOfBoundsException 集合索引越界}
}

3.ArrayList 存储字符串并遍历

package Base_one.Base_009;import java.util.ArrayList;public class ArrayListTest1 {public static void main(String[] args) {ArrayList<String> arrayList = new ArrayList<>();arrayList.add("a");arrayList.add("b");arrayList.add("c");arrayList.add("e");System.out.println(arrayList);// 遍历for (int i=0; i<arrayList.size();i++){String s = arrayList.get(i);System.out.println(s);}}
}

4. ArrayList 集合常用方法

package Base_one.Base_009;import java.util.AbstractList;
import java.util.ArrayList;public class ArrayListDemo2 {public static void main(String[] args) {AbstractList<String> arr = new ArrayList<String>();arr.add("a");arr.add("b");arr.add("c");System.out.println(arr);System.out.println(arr.remove(0));System.out.println(arr.remove("b"));System.out.println(arr);System.out.println(arr.set(0,"e"));System.out.println(arr);System.out.println(arr.get(0));System.out.println(arr.size());}
}

5. 存储学生对象并遍历

 

package Base_one.Base_009;public class Studet {private String name;private int age;public Studet(){}public Studet(String name,int age){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;}
}
package Base_one.Base_009;import java.util.AbstractList;
import java.util.ArrayList;public class StudentTest {public static void main(String[] args) {// 创建集合对象ArrayList<Studet> array = new ArrayList<Studet>();// 创建学生对象Studet s1 = new Studet("Tom",18);Studet s2 = new Studet("Alo",20);Studet s3 = new Studet("Tina",22);// 添加学生对象到集合中array.add(s1);array.add(s2);array.add(s3);System.out.println(array); // 输出的都是地址了for(int i= 0;i< array.size();i++){Studet s = array.get(i);System.out.println(s.getName()+","+s.getAge());}}
}

6.升级版本

package Base_one.Base_009;public class Studentpro {private String name;private String age;public Studentpro() {}public Studentpro(String name, String age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}
}
package Base_one.Base_009;
import java.util.ArrayList;
import java.util.Scanner;public class StudentProTest {public static void main(String[] args) {ArrayList<Studentpro> array = new ArrayList<Studentpro>();Scanner sc = new Scanner(System.in);System.out.println("输入你要添加几个学生对象:");int cout = sc.nextInt();for (int i = 0;i<cout;i++){System.out.println(String.format("第%d个对象",i));addStudentObject(array);}// 遍历输出for (int i = 0;i<array.size();i++){Studentpro s = array.get(i);System.out.println(s.getName()+","+s.getAge());}}// 定义方法 返回值void类型 参数类型为ArrayListpublic static void addStudentObject(ArrayList<Studentpro> array){Scanner sc = new Scanner(System.in);System.out.println("请输入姓名:");String name = sc.nextLine();System.out.println("请输入年龄");String age = sc.nextLine();Studentpro s = new Studentpro();s.setName(name);s.setAge(age);array.add(s);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/5967.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微调Mistral 7B以实现命名实体识别 (NER)

文章来源&#xff1a;fine-tuning-mistral-7b-for-named-entity-recognition-ner 2024 年 4 月 19 日 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;命名实体识别&#xff08;NER&#xff09;被认为是一项关键任务&#xff0c;应用范围广泛&#xff0c;包括信息…

WPF基础应用

WPF参考原文 MVVM介绍 1.常用布局控件 1.1 布局控件 WPF&#xff08;Windows Presentation Foundation&#xff09;提供了多种布局容器来帮助开发者设计用户界面&#xff0c;以下是一些常用的布局&#xff1a; Grid: Grid是最常用的布局容器之一&#xff0c;它允许你通过定…

ArcGIS小技巧—基于点数据的密度分析(含练习数据)

关于空间点数据的密度分析&#xff0c;Arcgis Map中提供了基础的点密度分析和核密度分析。核密度分析可以通过手动设置搜索半径&#xff0c;调整密度分布的合理性。 但有时由于实际工作的需要&#xff0c;我们需要对研究范围做特定划分&#xff0c;比如根据格网规则划分做密度…

计算机毕业设计hadoop+spark+hive知识图谱音乐推荐系统 音乐数据分析可视化大屏 音乐爬虫 LSTM情感分析 大数据毕设 深度学习 机器学习

黄河科技学院本科毕业设计 任务书 工 学部 大数据与计算机应用 科教中心 计算机科学与技术 专业 2018 级普本1/专升本1班 学号 学生 指导教师 毕业设计题目 基于实时音乐数据挖掘的个性化推荐系统设计与优化 毕业设计工作内容与基本…

Arcgis 数据分类+批量制作

1、计算统计数据 2、更改符号系统–做分类 右击图层属性–符号系统–已分类–分类 改为手动—设置分类 完成

vscode 插件 code settings sync(配置云端同步)

vscode 插件 code settings sync&#xff08;配置云端同步&#xff09; 电脑A和B&#xff0c;vscode配置都在A电脑上&#xff0c;此时你想要将A电脑的vscode配置同步到B电脑的vscode中 第一步&#xff1a;A电脑和B电脑都需要在VSCode中安装下图插件 code settings sync 第二步&…

钉钉手机端调试前端H5项目流程

此流程以Vue项目为例 一、操作步骤 在根目录下 vue.config.js 文件中将 devServer.host 设置为 0.0.0.0 // vue.config.js module.exports {devServer: {host: 0.0.0.0,...},...}本地启动项目&#xff0c;获取 Network App running at:- Local: http://localhost:8080/ -…

吴恩达深度学习笔记:深度学习的 实践层面 (Practical aspects of Deep Learning)1.9-1.10

目录 第二门课&#xff1a; 改善深层神经网络&#xff1a;超参数调试、正 则 化 以 及 优 化 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)第一周&#xff1a;深度学习的 实践层面 (Practical aspects of Deep Learning)1.9 归一…

msmpi 高性能并行计算 移植并行细胞自动机报错

报错情况如图 代码来源 元胞自动机生命游戏C语言并行实现 – OmegaXYZ 稍微修改&#xff0c;因为相对路径在 msmpi 10.1.1 中失效 Microsoft Windows [版本 10.0.22000.2538] (c) Microsoft Corporation。保留所有权利。C:\Users\ASUS>mpiexec -n 9 "C:\Users\ASUS\D…

MacBook Pro 原生安装 Ubuntu 24.04 ARM 版

趁着休假整理家里闲置的设备&#xff0c;看到了一台许久不用的 M2 芯片的 MacBook Pro&#xff0c;想着或许应该把它改造成 ARMv64 的 CI/CD 构建机&#xff0c;于是就有了这篇文章。 本篇文章适用于 M1、M2 全系列的设备&#xff0c;包括&#xff1a;MacBook Air、MacBook Pr…

JMeter性能压测脚本录制

第一步&#xff1a;电脑打开控制面板设置代理服务器 第二步&#xff1a;jmeter的测试计划添加一个HTTP&#xff08;S&#xff09;脚本记录器 在脚本记录器里配置好信息&#xff0c;然后保存为脚本文件&#xff08;.*表示限定&#xff09; 此方框内容为项目地址&#xff08;可改…

单链表经典算法

一&#xff0c;移除链表元素 思路一 遍历数组&#xff0c;如果遇到链表中的元素等于val的节点就执行删除操作 typedef struct ListNode ListNode;struct ListNode* removeElements(struct ListNode* head, int val) {if(headNULL){return NULL;} ListNode*pnewhead(ListNode*)m…

大数据之数据仓库技术:ETL工具和Kettle简介

大数据之数据仓库技术&#xff1a;ETL工具和Kettle简介 ETL简介ETL工具和KettleKettle家族 Kettle资源KettlePack 任务调度工具 ETL简介 ETL(Extract-Transform-Load): 在大数据技术领域内&#xff0c;用来描述将数据从 来源端 经过 抽取(extract), 转换(transform), 加载(loa…

【Vue】结合ElementUI实现简单数据请求和页面跳转功能

一、准备工作 1、创建一个Vue-cli程序 之前的博客有。各位看官姥爷&#xff0c;可以自查。 2、安装ElementUI 在创建Vue-cli程序的过程中&#xff0c;需要在控制台执行以下指令&#xff1a; #安装 element-ui npm i element-ui -S #安装 SASS 加载器 cnpm install sass-loa…

毫米波雷达多人呼吸心跳检测MATLAB仿真

本文基于TI的IWR1642毫米波雷达 2T4R MIMO阵列&#xff0c;通过实际采集数据算法仿真&#xff0c;实现多人呼吸心跳检测。 文章末尾给出了本文的仿真代码。 主要内容包含&#xff1a; &#xff08;1&#xff09;雷达参数设定 &#xff08;2&#xff09;ADC数据导入 &#xff08…

一对一WebRTC视频通话系列(一)—— 创建页面并显示摄像头画面

本系列博客主要记录WebRtc实现过程中的一些重点&#xff0c;代码全部进行了注释&#xff0c;便于理解WebRTC整体实现。 一、创建html页面 简单添加input、button、video控件的布局。 <html><head><title>WebRTC demo</title></head><h1>…

【算法基础实验】图论-深度优先搜索和深度优先路径

深度优先(DFS) 理论基础 深度优先搜索&#xff08;DFS, Depth-First Search&#xff09;是图和树的遍历算法中的一种&#xff0c;它从一个节点开始&#xff0c;沿着树的边走到尽可能深的分支&#xff0c;直到节点没有子节点为止&#xff0c;然后回溯继续搜索下一个分支。DFS …

ubuntu外置网卡配置AP模式

外置网卡RTL8811CU设置 UBUNTU使用RTL8811CU网卡&#xff08;包含树莓派&#xff09; 外置网卡配置AP模式流程 1. 检查网卡支持情况&#xff08;是否支持AP模式&#xff09; iw list找到以上部分&#xff0c;发现支持AP 2. 安装依赖 sudo apt-get update sudo apt-get in…

c语言从入门到函数速成(1)

温馨提醒&#xff1a;本篇文章适合人群&#xff1a;刚学c又感觉那个地方不怎么懂的同学以及以及学了一些因为自身原因停学一段时间后又继续学c的同学 好&#xff0c;正片开始。 主函数 学c时最先学的是我们c语言程序的主体函数&#xff0c;c的主函数有两种写法&#xff0c;这…

25 JavaScript学习:var let const

JavaScript全局变量 JavaScript中全局变量存在多种情况和定义方式&#xff0c;下面详细解释并提供相应的举例&#xff1a; 使用var关键字声明的全局变量&#xff1a; var globalVar "我是全局变量";未使用var关键字声明的变量会成为全局变量&#xff08;不推荐使用&…