ArrayList练习

练习1:添加字符串和整数并进行遍历

1、add方法向集合中添加元素;

2、get方法获取集合中的元素。

public class ArrayListDemo1 {public static void main(String[] args) {ArrayList<String> list = new ArrayList<>();list.add("aaa");list.add("bbb");list.add("ccc");System.out.print("[");for (int i = 0; i < list.size(); i++) {if(i == list.size() - 1){System.out.print(list.get(i) + "]");} else {System.out.print(list.get(i) + ",");}}}
}

对于整数要使用其包装类Integer: 

public class ArrayListDemo2 {public static void main(String[] args) {ArrayList<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);list.add(4);System.out.print("[");for (int i = 0; i < list.size(); i++) {if(i == list.size() - 1){System.out.print(list.get(i) + "]");} else {System.out.print(list.get(i) + ",");}}}
}

练习2:添加学生对象并进行遍历 

需求:定义一个集合,添加一些学生对象,并进行遍历。

学生类的属性为:姓名,年龄。

public class ArrayListDemo3 {public static void main(String[] args) {ArrayList<Student> list = new ArrayList<>();Student s1 = new Student("zhang", 22);Student s2 = new Student("liu", 23);list.add(s1);list.add(s2);System.out.println(list);}
}

需求:定义一个集合,添加一些学生对象,要求学生的属性键盘录入,并进行遍历。

学生类的属性为:姓名,年龄。

public class ArrayListDemo4 {public static void main(String[] args) {ArrayList<Student> list = new ArrayList<>();Scanner sc = new Scanner(System.in);for (int i = 0; i < 2; i++) {Student s = new Student();String name = sc.next();int age = sc.nextInt();s.setName(name);s.setAge(age);list.add(s);}for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}}
}

练习3:添加用户并判断是否存在

需求:
1、main方法中定义一个集合,存入三个用户对象。用户属性为:id,username,password。

要求:定义一个方法,根据id查找对应的用户信息。如果存在,返回true;如果不存在,返回false 。

public class ArrayListDemo5 {public static void main(String[] args) {ArrayList<User> list = new ArrayList<>();User user1 = new User("heima001", "zhang", "12345");User user2 = new User("heima002", "liu", "12345");list.add(user1);list.add(user2);String id = "heima003";System.out.println(selectID(list,id));}public static boolean selectID(ArrayList<User> list,String id){boolean flag = false;for (int i = 0; i < list.size(); i++) {if(id.equals(list.get(i))){flag = true;break;}}return flag;}
}

要求:定义一个方法,根据id查找对应的用户信息。如果存在,返回索引;如果不存在,返回-1。 

    public static int getIndex(ArrayList<User> list,String id){boolean flag = false;for (int i = 0; i < list.size(); i++) {if(id.equals(list.get(i))){return i;}}return -1;}

如果既要返回索引又要返回true或者false,可以将两个方法的代码合并一部分,在contains方法里调用getIndex方法,对返回值进行判断,如果大于0,则返回true,否则返回false。 即:return getIndex(list,id) >= 0;

如果一个函数要返回两个不同类型的参数,只能是两个方法分别进行返回,后面应该有新的东西可以用。

    public static boolean selectID(ArrayList<User> list,String id){return getIndex(list,id) >= 0;}public static int getIndex(ArrayList<User> list,String id){boolean flag = false;for (int i = 0; i < list.size(); i++) {if(id.equals(list.get(i))){return i;}}return -1;}

练习4:添加手机对象并返回要求的数据 

需求:
定义javabean类:Phone

Phone属性:品牌,价格。

main方法中定义一个集合,存入三个手机对象。分别为:小米,1000。苹果,8000。锤子,2999。

定义一个方法,将价格低于3000的手机信息返回。

public class ArrayListDemo6 {public static void main(String[] args) {ArrayList<Phone> list = new ArrayList<>();Phone p1 = new Phone("小米", 1000);Phone p2 = new Phone("苹果", 8000);Phone p3 = new Phone("锤子", 2999);list.add(p1);list.add(p2);list.add(p3);getPhone(list);}public static void getPhone(ArrayList<Phone> list) {for (int i = 0; i < list.size(); i++) {Phone phone = list.get(i);if (phone.getPrice() < 3000) {System.out.println("手机品牌为:" + phone.getBrand() + "手机价格为:" + phone.getPrice());}}}
}

 如果不是直接输出,而是返回多个同类型的数据,可以用集合和数组进行接收封装起来

public class ArrayListDemo6 {public static void main(String[] args) {ArrayList<Phone> list = new ArrayList<>();Phone p1 = new Phone("小米", 1000);Phone p2 = new Phone("苹果", 8000);Phone p3 = new Phone("锤子", 2999);list.add(p1);list.add(p2);list.add(p3);ArrayList<Phone> list1 = getPhone(list);for (int i = 0; i < list1.size(); i++) {Phone phone = list1.get(i);System.out.println("手机品牌为:" + phone.getBrand() + "手机价格为:" + phone.getPrice());}}public static ArrayList<Phone> getPhone(ArrayList<Phone> list) {ArrayList<Phone> list1 = new ArrayList<>();for (int i = 0; i < list.size(); i++) {Phone phone = list.get(i);if (phone.getPrice() < 3000) {list1.add(phone);}}return list1;}
}

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

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

相关文章

python-斐波那契数列

[题目描述] 斐波那契数列是指这样的数列&#xff1a;数列的第一个和第二个数都为 1&#xff0c;接下来每个数都等于前面 2个数之和。 给出一个正整数 a&#xff0c;要求斐波那契数列中第 a 个数是多少。输入&#xff1a; 第 1 行是测试数据的组数 n&#xff0c;后面跟着 n 行输…

信息化建设中的安全底座:实施等保的法律依据与实际效益分析

随着信息技术的飞速发展&#xff0c;信息化建设已成为推动社会进步和经济发展的关键引擎。然而&#xff0c;伴随而来的是日益复杂多变的网络安全威胁&#xff0c;这对国家的安全、社会的稳定以及公众的利益构成了严峻挑战。在此背景下&#xff0c;信息安全等级保护&#xff08;…

【密码学】面向小白的古典密码基础入门笔记

目录 Mindmap 前言 破译方法 三类古典密码 替换密码 分类 单表替换密码 凯撒密码 简单替换密码 仿射密码 普莱费尔密码 培根密码 猪圈密码 摩斯密码 多表替换密码 维吉尼亚密码 移位密码 滚筒密码 栅栏密码 Mindmap 前言 1.所有古典密码都已不安全 2.密…

【云原生】Kubernetes高级功能

Kubernetes高级功能 文章目录 Kubernetes高级功能资源列表基础环境一、ConfigMap1.1、什么是ConfigMap1.2、ConfigMap能解决哪些问题1.3、ConfigMap应用场景1.4、ConfigMap局限性1.5、ConfigMap的创建方法1.5.1、命令行直接创建1.5.2、通过文件创建1.5.3、指定目录创建1.5.4、编…

生成和查看预定义宏

参考下面的指令 arm-none-eabi-gcc -marcharmv7e-m -dM -E - < /dev/null | grep SYNC这个指令是用来生成和查看预定义宏&#xff08;macros&#xff09;的一种方法。让我们逐步分解和解释这个命令的各个部分&#xff1a; arm-none-eabi-gcc: 这是 ARM 架构下的交叉编译器…

Github忘记了Two-factor Authentication code

意外重置了edge浏览器 码农家园github自从开启开启了2FA认证&#xff0c;每次输入auth code确实麻烦&#xff0c;于是下载了浏览器插件 Open two factor authenticator&#xff0c; 最近edge频繁宕机&#xff0c;而且提示磁盘空间不足&#xff0c;要不要立即清理并重置浏览器临…

【python】socket通信代码解析

目录 一、socket通信原理 1.1 服务器端 1.2 客户端 二、socket通信主要应用场景 2.1 简单的服务器和客户端通信 2.2 并发服务器 2.3 UDP通信 2.4 文件传输 2.5 HTTP服务器 2.6 邮件发送与接收 2.7 FTP客户端 2.8 P2P文件共享 2.9 网络游戏 三、python中Socket编…

Mathematica训练课(45)-- 一些常用的函数Abs[],Max[]等函数用法

①绝对值函数&#xff1a;Abs[]函数 ②最大值和最小值函数 ③反函数

微信小程序服务器从腾讯云迁移到阿里云出现的坑

微信小程序服务器从腾讯云迁移到阿里云出现的坑 背景 原先小程序后台服务器到期&#xff0c;因为之前买的是腾讯云新用户&#xff0c;便宜&#xff0c;到期后续费金额懂的都懂。就在阿里云用新用户买了个新的&#xff0c;遂把服务全转到了阿里云服务器上。 此时&#xff0c;域…

正则表达式教程:从入门到实战应用

正则表达式教程&#xff1a;从入门到实战应用 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨正则表达式的基础知识以及在实际应用中的实战技…

基于文本密度的网页正文提取的研究与实现

摘要&#xff1a; 随着互联网技术的迅猛发展&#xff0c;网页数量呈爆炸性增长&#xff0c;网页内容日趋复杂&#xff0c;如何在海量网页中快速、准确地提取出正文信息&#xff0c;成为了一个亟待解决的问题。本文提出了一种基于文本密度的网页正文提取方法&#xff0c;通过对…

AI 与 Python 实战干货:基于深度学习的图像识别

《AI 与 Python 实战干货&#xff1a;基于深度学习的图像识别》 今天咱不啰嗦&#xff0c;直接上干货&#xff01; 在 AI 领域&#xff0c;特别是图像识别方面&#xff0c;Python 简直是一把利器。咱就以手写数字识别为例&#xff0c;来看看怎么用 Python 实现一个深度学习模…

【kaptcha】kaptcha验证码的使用-SpringBoot集成

Kaptcha验证码的依赖 <dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version> </dependency> Kaptcha验证码的配置类&#xff0c;对验证码的一些属性进行配置&#x…

Docker入门指南:构建、部署与管理容器化应用

Docker入门指南&#xff1a;构建、部署与管理容器化应用 引言 Docker&#xff0c;作为当今最流行的容器化平台之一&#xff0c;彻底改变了软件开发、部署与运维的格局。它通过轻量级、可移植的容器技术&#xff0c;让开发者能够在几乎任何地方以一致的环境运行应用程序&#…

Spring Boot结合FFmpeg实现视频会议系统视频流处理与优化

在构建高效稳定的视频会议系统时,实时视频流的处理和优化是开发者面临的核心挑战之一。这不仅仅是简单的视频数据传输,更涉及到一系列复杂的技术问题,需要我们深入分析和有效解决。 高并发与实时性要求: 视频会议系统通常需要支持多人同时进行视频通话,这就意味着系统需要…

基于SpringBoot网吧管理系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; Java精品实战案例《600套》 2025-2026年最值得选择的Java毕业设计选题大全&#xff1…

税务笔记()

文章目录 税务和发票的关系 其他国税总局地址发票查验地址会计学堂-税收分类编码地址 和会计相关打交道&#xff0c;肯定离不开税务知识&#xff0c;做个笔记吧。 首先&#xff0c;税务是个巨大的课题&#xff0c;一年也说不完&#xff0c;只是简单记录下方便了解即可。 税务和…

python基础语法 003-4 数据类型集合

1 集合 1.1 什么是集合 什么是集合&#xff1f;ANS:集合set是一个无序的不重复元素序列集合怎么表示&#xff1f;ANS: {} , 用逗号隔开打印元组类型&#xff0c;type()一个元素的集合怎么表示&#xff1f;&#xff1a;ANS:存储多种类型{"a", 1} """…

Spring Cloud Gateway3.x自定义Spring Cloud Loadbalancer负载均衡策略以及实现动态负载均衡策略的方案

目录 前言 1.原理分析 1.1 ReactiveLoadBalancerClientFilter源码分析 1.2 LoadBalancerClientFactory源码分析 2.代码实现 2.1 扩展原生RoundRobinLoadBalancer轮询策略 2.1.1 自定义实现RoundRobinLoadBalancer 2.1.2 配置自定义的RoundRobinLoadBalan…

【Python实战因果推断】7_元学习器2

目录 X-Learner X-Learner X-learner 在解释上要比前一个学习器复杂得多&#xff0c;但其实现却非常简单&#xff0c;所以如果你一开始不理解&#xff0c;也不用担心。X 学习器有两个阶段和一个倾向得分模型。第一个阶段与 T 学习器相同。首先&#xff0c;将样本分为治疗组和…