Java--集合--经典七道综合练习题
文章目录
一、集合的遍历方式
二、添加数字并遍历
三、添加学生对象并遍历
四、添加学生对象并遍历
五、添加用户对象并判断是否存在
六、添加手机对象并返回要求的数据
七、创建学生管理系统(*****)
一、集合的遍历方式
需求:定义一个集合,添加字符串,并进行遍历。
遍历格式参照:[元素1,元素2,元素3]。
import java.util.ArrayList;public class ArrayListTest1 {public static void main(String[] args) {// TODO Auto-generated method stub//1.创建一个集合ArrayList<String> list=new ArrayList<>();//2.添加元素list.add("aaa");list.add("bbb");list.add("ccc");list.add("ddd");//3.遍历集合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)+", ");}}System.out.print("]");}}
二、添加数字并遍历
需求:定义一个集合,添加数字,并进行遍历。
遍历格式参照:[元素1,元素2,元素3]。
import java.util.ArrayList;public class ArrayListTest2 {public static void main(String[] args) {// TODO Auto-generated method stub//1.创建一个集合ArrayList<Integer> list=new ArrayList<>();//2.添加元素list.add(1);list.add(2);list.add(3);list.add(4);//3.遍历集合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)+", ");}}System.out.print("]");}}
三、添加学生对象并遍历
需求:定义一个集合,添加一些学生对象,并进行遍历
学生类的属性为:姓名,年龄。
public class Student_Test3 {private String name;private int age;public Student_Test3() {}public Student_Test3(String name,int age) {this.name=name;this.age=age;}public void setName(String name) {this.name=name;}public String getName() {return name;}public void setAge(int age) {this.age=age;}public int getAge() {return age;}}
import java.util.ArrayList;public class ArrayListTest3 {public static void main(String[] args) {// TODO Auto-generated method stub//1.创建一个集合ArrayList<Student_Test3> list=new ArrayList<>();//2.创建学生对象Student_Test3 st1=new Student_Test3("张三",23);Student_Test3 st2=new Student_Test3("李四",24);Student_Test3 st3=new Student_Test3("王五",25);//3.将学生对象添加到集合里list.add(st1);list.add(st2);list.add(st3);//4.遍历集合for(int i=0;i<list.size();i++) {Student_Test3 stu=list.get(i);System.out.println(stu.getName()+", "+stu.getAge());}}}
四、添加学生对象并遍历
需求:定义一个集合,添加一些学生对象,并进行遍历
学生类的属性为:姓名,年龄。
要求:对象的数据来自键盘录入
public class Student_Test3 {private String name;private int age;public Student_Test3() {}public Student_Test3(String name,int age) {this.name=name;this.age=age;}public void setName(String name) {this.name=name;}public String getName() {return name;}public void setAge(int age) {this.age=age;}public int getAge() {return age;}}
import java.util.ArrayList;
import java.util.Scanner;public class ArrayListTest4 {public static void main(String[] args) {// TODO Auto-generated method stub//1.创建一个集合ArrayList<Student_Test3> list=new ArrayList<>();//2.键盘录入学生信息Scanner sc=new Scanner(System.in);for(int i=0;i<3;i++) {Student_Test3 s=new Student_Test3();System.out.println("请输入学生的姓名:");String name=sc.next();System.out.println("请输入学生的年龄:");int age=sc.nextInt();//把name 和age 赋值给学生对象s.setName(name);s.setAge(age);//把学生信息添加到集合中list.add(s);}//3.遍历集合for(int i=0;i<list.size();i++) {Student_Test3 stu=list.get(i);System.out.println(stu.getName()+", "+stu.getAge());}}}
五、添加用户对象并判断是否存在
需求:
1.main方法中定义一个集合,存入三个用户对象。
用户属性为:id,username,password
2.要求:定义一个方法,根据id查找对应的用户信息。
如果存在,返回true
如果不存在,返回false
public class User {private String id;private String username;private String password;public User() {}public User(String id,String username,String password) {this.id=id;this.username=username;this.password=password;}public void setId(String id) {this.id=id;}public String getId() {return id;}public void setUsername(String username) {this.username=username;}public String getUsername() {return username;}public void setPassword(String password) {this.password=password;}public String getPassword() {return password;}}
import java.util.ArrayList;public class ArrayListTest5 {public static void main(String[] args) {// TODO Auto-generated method stub//1.创建一个集合ArrayList<User> list=new ArrayList<>();//2.创建用户对象User u1=new User("001","zhangsan","1234501");User u2=new User("002","lisi","1234502");User u3=new User("003","wangwu","1234503");//3.将用户对象添加到集合中list.add(u1);list.add(u2);list.add(u3);//boolean flag=check(list,"005");if(flag) {System.out.println("存在");}else {System.out.println("不存在");}}public static boolean check(ArrayList<User> list,String id) {for(int i=0;i<list.size();i++) {if(list.get(i).getId().equals(id)) {return true;}}return false;}}
六、添加手机对象并返回要求的数据
需求:
定义JavaBean类:Phone
Phone的属性:品牌、价格。
main方法中定义一个集合,存入三个手机对象。
分别为:小米,1000。苹果,8000。锤子,2999。
定义一个方法,将价格低于3000的手机信息返回
public class Phone {private String brand;private int price;public Phone() {}public Phone(String brand,int price) {this.brand=brand;this.price=price;}public void setBrand(String brand) {this.brand=brand;}public String getBrand() {return brand;}public void setPrice(int price) {this.price=price;}public int getPrice() {return price;}}
import java.util.ArrayList;public class ArrayListTest6 {public static void main(String[] args) {// TODO Auto-generated method stub//1.创建一个集合ArrayList<Phone> list=new ArrayList<>();//2.创建用户对象Phone p1=new Phone("小米",1000);Phone p2=new Phone("苹果",8000);Phone p3=new Phone("锤子",2999);//3.添加到集合中list.add(p1);list.add(p2);list.add(p3);//4.调用方法ArrayList<Phone> phoneInfoList=getPhoneInfo(list);//5.遍历集合for(int i=0;i<phoneInfoList.size();i++) {Phone phone=phoneInfoList.get(i);System.out.println(phone.getBrand()+", "+phone.getPrice());}}public static ArrayList<Phone> getPhoneInfo(ArrayList<Phone> list) {ArrayList<Phone> resultList=new ArrayList<>();for(int i=0;i<list.size();i++) {Phone p=list.get(i);int price=p.getPrice();if(price<3000) {resultList.add(p);}}return resultList;}}
七、创建学生管理系统
需求:
public class Student {private String id;private String name;private int age;private String address;public Student() {}public Student(String id,String name,int age,String address) {this.id=id;this.name=name;this.age=age;this.address=address;}public void setName(String name) {this.name=name;}public String getName() {return name;}public void setAge(int age) {this.age=age;}public int getAge() {return age;}public void setId(String id) {this.id=id;}public String getId() {return id;}public void setAddress(String address) {this.address=address;}public String getAddress() {return address;}}
import java.util.ArrayList;
import java.util.Scanner;public class Test_综合练习 {public static void main(String[] args) {// TODO Auto-generated method stubArrayList<Student> list=new ArrayList<>();loop:while(true) {System.out.println("-------------欢迎来到黑马学生管理系统--------------");System.out.println("1:添加学生");System.out.println("2:删除学生");System.out.println("3:修改学生");System.out.println("4:查询学生");System.out.println("5:退出");Scanner sc=new Scanner(System.in);System.out.println("请输入您的选择:");String choose=sc.next();switch(choose) {case "1":addStudent(list);break;case "2":deleteStudent(list);break;case "3":updateStudent(list);break;case "4":queryStudent(list);break;case "5":System.out.println("5:退出");break loop;default:System.out.println("没有这个选项");}}}public static void addStudent(ArrayList<Student> list) {Scanner sc=new Scanner(System.in);//创建学生对象Student s=new Student();while(true) {System.out.println("请输入学生的id:");String id=sc.next();boolean flag=contains(list,id);if(flag) {//表示id已经存在,需要重新输入System.out.println("id已经存在,请重新输入");}else {s.setId(id);break;}}System.out.println("请输入学生的姓名:");String name=sc.next();s.setName(name);System.out.println("请输入学生的年龄:");int age=sc.nextInt();s.setAge(age);System.out.println("请输入学生的家庭住址:");String address=sc.next();s.setAddress(address);//将学生对象添加到数组当中list.add(s);//提示一下用户信息添加成功System.out.println("用户信息添加成功!");}public static void deleteStudent(ArrayList<Student> list) {Scanner sc=new Scanner(System.in);System.out.println("请输入要删除的学生id:");String id=sc.next();//查询id在集合中的索引int index=getIndex(list,id);if(index>=0) {list.remove(index);System.out.println("id为:"+id+"的学生删除成功");}else {System.out.println("id不存在,删除失败");}}public static void updateStudent(ArrayList<Student> list) {Scanner sc=new Scanner(System.in);System.out.println("请输入要修改学生的id:");String id=sc.next();int index=getIndex(list,id);if(index==-1) {System.out.println("要修改的id"+id+"不存在,请重新输入");return;}Student stu=list.get(index);//输入其他的新型修改System.out.println("请输入要修改的姓名:");String newName=sc.next();stu.setName(newName);System.out.println("请输入要修改的年龄:");int newAge=sc.nextInt();stu.setAge(newAge);System.out.println("请输入要修改的家庭住址::");String newAddress=sc.next();stu.setAddress(newAddress);System.out.println("学生信息修改成功!");}public static void queryStudent(ArrayList<Student> list) {if(list.size()==0) {System.out.println("当前无学生信息,请添加后在查询");//结束方法return; }System.out.println("id\t\t姓名\t\t年龄\t"+"家庭住址");for(int i=0;i<list.size();i++) {Student stu=list.get(i);System.out.println(stu.getId()+"\t"+stu.getName()+"\t\t"+stu.getAge()+"\t"+stu.getAddress());}}public static boolean contains(ArrayList<Student> list,String id) {for(int i=0;i<list.size();i++) {Student stu=list.get(i);if(stu.getId().equals(id)) {return true;}}return false;}public static int getIndex(ArrayList<Student> list,String id) {for(int i=0;i<list.size();i++) {Student stu=list.get(i);if(stu.getId().equals(id)) {return i;}}return-1;}}
Java--集合--经典七道综合练习题相关推荐
- 50道Java集合经典面试题
1. Arraylist与LinkedList区别 可以从它们的底层数据结构.效率.开销进行阐述哈 ArrayList是数组的数据结构,LinkedList是链表的数据结构. 随机访问的时候,Arra ...
- 50道Java集合经典面试题(收藏版)
前言 来了来了,50道Java集合面试题也来啦~ 已经上传github: https://github.com/whx123/JavaHome 1. Arraylist与LinkedList区别 可以 ...
- Java 集合经典面试题。少侠,我看你骨骼惊奇,是难得的代码奇才,来看了我的博客那岂不是如虎添翼?
List 为什么 arraylist 不安全? 我们查看源码发现 arraylist 的 CRUD 操作,并没有涉及到锁之类的东西.底层是数组,初始大小为 10.插入时会判断数组容量是否足够,不够的话 ...
- 疯狂java讲义第七章补充习题第12题答案
12.使用Calendar的各种方法 变量 ALL_STYLES AM AM_PM APRIL areFieldsSet AUGUST DECEMBER DST_OFFSET ERA FEBRUARY ...
- Java——集合经典面试题
List与Set.map的区别. List: 1.可以允许重复的对象. 2.可以插入多个null元素. 3.是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序. 4.常用的实现类有 A ...
- Java集合(一)集合框架概述
文章目录 一.集合框架 1.1 常用的集合 1.2 线程安全的集合 1.3 "fail-fast"机制 1.3.1 "fail-fast"机制是什么 1.3.2 ...
- Java基础笔记23-集合练习题
Java基础笔记23-集合练习题 定义一个集合,实现去重复的功能 定义一个数组,数组中存放的是图片的后缀,给一个文件的名字,判断是否是图片 定义一个带有数字和字符串的集合,使用迭代器进行迭代,只输出字 ...
- linux视频教程百度网盘分享,Java集合基础知识总结(绝对经典
2.JAVA集合可以存储和操作数目不固定的一组数据. 3.若程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用. 注:使用相应的toArray()和Arr ...
- 郑莉版java第三章答案_java语言程序设计(郑莉)第七章课后习题答案.docx
java语言程序设计(郑莉)第七章课后习题答案.docx 还剩 10页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: if (matrix.isTria ...
最新文章
- 广东电网计算机考试,考点爆料!2019广东电网计算机专业居然考这些!
- ARM架构和ARM核区别和联系
- 分解得到的时频域特征_【推荐文章】基于变分模态分解和广义Warblet变换的齿轮故障诊断...
- [luoguP2896] [USACO08FEB]一起吃饭Eating Together(DP)
- 新时达二代操作器刷写数据线_布袋除尘器的脉冲振动特点及安装操作
- JSON.NET 简单的使用
- python opencv输出mp4_10分钟学会使用YOLO及Opencv实现目标检测
- Hadoop学习资料整理
- Web前端小例子——简单导航栏
- shell命令locate
- idea 拉取gitlab分支项目_如何删除gitlab上的文件夹?
- php curl设置headers,php curl如何设置头部信息
- 如何解决Access denied for user ''@'localhost' (using password: NO)错误
- 写作历时一个月,长达8000字的年终总结——[2022年终总结]不要怕,请勇敢的向前走
- 华为交换机端口配置删除_华为交换机配置_华为交换机怎么清除端口下所有配置?...
- 网络信息安全攻防学习平台——基础关
- 计算机科学研究算法的局限性,YOCSEF 论坛 | CNCC2018 — 研究经典计算机算法已经过时了吗?...
- 云服务器的实用功能——弹性伸缩
- matlab图像对折,Matlab下如何将一个索引图像进行对折小程序--原创
- IDEA在同一工作空间,显示多个项目
热门文章
- linux开发板tftp 搭建,[转帖]4412开发板学习笔记-TFTP服务器的搭建
- linux命令——帮助相关命令
- matlab绘画三维图形(三)
- 《史蒂芬·乔布斯传》摘录
- 图解最常用的10个机器学习算法!(必须收藏)
- 问到的知识(蓝色板儿砖的教学)
- 北邮计算机学硕读博,博士生考试_考博经验——说说我北邮北航考博经历_沪江英语...
- 学习FPGA之一:初识FPGA
- 地球的半径为6400km,一长跑健将9.8s跑了100m,那么他以改速度绕赤道跑一圈,需要几天时间。
- STM32F103-FreeRTOS 操作系统移植