文章目录

一、集合的遍历方式

二、添加数字并遍历

三、添加学生对象并遍历

四、添加学生对象并遍历

五、添加用户对象并判断是否存在

六、添加手机对象并返回要求的数据

七、创建学生管理系统(*****)

一、集合的遍历方式

需求:定义一个集合,添加字符串,并进行遍历。

遍历格式参照:[元素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--集合--经典七道综合练习题相关推荐

  1. 50道Java集合经典面试题

    1. Arraylist与LinkedList区别 可以从它们的底层数据结构.效率.开销进行阐述哈 ArrayList是数组的数据结构,LinkedList是链表的数据结构. 随机访问的时候,Arra ...

  2. 50道Java集合经典面试题(收藏版)

    前言 来了来了,50道Java集合面试题也来啦~ 已经上传github: https://github.com/whx123/JavaHome 1. Arraylist与LinkedList区别 可以 ...

  3. Java 集合经典面试题。少侠,我看你骨骼惊奇,是难得的代码奇才,来看了我的博客那岂不是如虎添翼?

    List 为什么 arraylist 不安全? 我们查看源码发现 arraylist 的 CRUD 操作,并没有涉及到锁之类的东西.底层是数组,初始大小为 10.插入时会判断数组容量是否足够,不够的话 ...

  4. 疯狂java讲义第七章补充习题第12题答案

    12.使用Calendar的各种方法 变量 ALL_STYLES AM AM_PM APRIL areFieldsSet AUGUST DECEMBER DST_OFFSET ERA FEBRUARY ...

  5. Java——集合经典面试题

    List与Set.map的区别. List: 1.可以允许重复的对象. 2.可以插入多个null元素. 3.是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序. 4.常用的实现类有 A ...

  6. Java集合(一)集合框架概述

    文章目录 一.集合框架 1.1 常用的集合 1.2 线程安全的集合 1.3 "fail-fast"机制 1.3.1 "fail-fast"机制是什么 1.3.2 ...

  7. Java基础笔记23-集合练习题

    Java基础笔记23-集合练习题 定义一个集合,实现去重复的功能 定义一个数组,数组中存放的是图片的后缀,给一个文件的名字,判断是否是图片 定义一个带有数字和字符串的集合,使用迭代器进行迭代,只输出字 ...

  8. linux视频教程百度网盘分享,Java集合基础知识总结(绝对经典

    2.JAVA集合可以存储和操作数目不固定的一组数据. 3.若程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用. 注:使用相应的toArray()和Arr ...

  9. 郑莉版java第三章答案_java语言程序设计(郑莉)第七章课后习题答案.docx

    java语言程序设计(郑莉)第七章课后习题答案.docx 还剩 10页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: if (matrix.isTria ...

最新文章

  1. 广东电网计算机考试,考点爆料!2019广东电网计算机专业居然考这些!
  2. ARM架构和ARM核区别和联系
  3. 分解得到的时频域特征_【推荐文章】基于变分模态分解和广义Warblet变换的齿轮故障诊断...
  4. [luoguP2896] [USACO08FEB]一起吃饭Eating Together(DP)
  5. 新时达二代操作器刷写数据线_布袋除尘器的脉冲振动特点及安装操作
  6. JSON.NET 简单的使用
  7. python opencv输出mp4_10分钟学会使用YOLO及Opencv实现目标检测
  8. Hadoop学习资料整理
  9. Web前端小例子——简单导航栏
  10. shell命令locate
  11. idea 拉取gitlab分支项目_如何删除gitlab上的文件夹?
  12. php curl设置headers,php curl如何设置头部信息
  13. 如何解决Access denied for user ''@'localhost' (using password: NO)错误
  14. 写作历时一个月,长达8000字的年终总结——[2022年终总结]不要怕,请勇敢的向前走
  15. 华为交换机端口配置删除_华为交换机配置_华为交换机怎么清除端口下所有配置?...
  16. 网络信息安全攻防学习平台——基础关
  17. 计算机科学研究算法的局限性,YOCSEF 论坛 | CNCC2018 — 研究经典计算机算法已经过时了吗?...
  18. 云服务器的实用功能——弹性伸缩
  19. matlab图像对折,Matlab下如何将一个索引图像进行对折小程序--原创
  20. IDEA在同一工作空间,显示多个项目

热门文章

  1. linux开发板tftp 搭建,[转帖]4412开发板学习笔记-TFTP服务器的搭建
  2. linux命令——帮助相关命令
  3. matlab绘画三维图形(三)
  4. 《史蒂芬·乔布斯传》摘录
  5. 图解最常用的10个机器学习算法!(必须收藏)
  6. 问到的知识(蓝色板儿砖的教学)
  7. 北邮计算机学硕读博,博士生考试_考博经验——说说我北邮北航考博经历_沪江英语...
  8. 学习FPGA之一:初识FPGA
  9. 地球的半径为6400km,一长跑健将9.8s跑了100m,那么他以改速度绕赤道跑一圈,需要几天时间。
  10. STM32F103-FreeRTOS 操作系统移植