【Java_SE】作业练习1105
来源:互联网 发布:道路横断面效果图软件 编辑:程序博客网 时间:2024/06/15 13:37
1:集合的嵌套遍历
需求:
我们班有学生,每一个学生是不是一个对象。所以我们可以使用一个集合表示我们班级的学生。ArrayList
但是呢,我们旁边是不是还有班级,每个班级是不是也是一个ArrayList。
而我现在有多个ArrayList。也要用集合存储,怎么办呢?
import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;//测试类public class Demo2 { public static void main(String[] args) { //一班学生 Student s1=new Student("张三",15); Student s2=new Student("李四",17); Student s3=new Student("王五",16); //创建一班学生集合,存储学生对象 Collection student1=new ArrayList(); student1.add(s1); student1.add(s2); student1.add(s3); System.out.println("一班的学生有:"+student1);//一班的学生有:[张三-----15, 李四-----17, 王五-----16] //二班学生 Student s4=new Student("甄姬",15); Student s5=new Student("貂蝉",17); Student s6=new Student("王昭君",16); //创建二班学生集合,存储学生对象 Collection student2=new ArrayList(); student2.add(s4); student2.add(s5); student2.add(s6); System.out.println("二班的学生有:"+student2);//二班的学生有:[甄姬-----15, 貂蝉-----17, 王昭君-----16] //创建年级集合,存储两个班的集合对象 Collection grade=new ArrayList(); grade.add(student1); grade.add(student2); System.out.println("显示全年级学生:"+grade);//[[张三-----15, 李四-----17, 王五-----16], [甄姬-----15, 貂蝉-----17, 王昭君-----16]] //遍历元素 Iterator it=grade.iterator(); while(it.hasNext()){ ArrayList a=(ArrayList)it.next(); Iterator it2=a.iterator(); while(it2.hasNext()){ System.out.println(it2.next()); } } }}//学生类class Student{ private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } public Student() { } 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; } //必须重写toString方法,不然只显示存储地址 @Override public String toString() { return this.name+"-----"+this.age; }}
2:获取10个1-20之间的随机数,要求不能重复
import java.util.ArrayList;import java.util.Collection;import java.util.Random;public class Demo3 { public static void main(String[] args) { Random r=new Random(); boolean flag=true; Collection c=new ArrayList(); while(flag){ int n=r.nextInt(20)+1; //当集合中不包含产生的随机数时,向其中加入 if(!c.contains(n)){ c.add(n); } //如果已经存储够了10个数,则结束 if(c.size()==10){ break; } } System.out.println(c); }}
3:使用ArrayList集合存储自定义对象并遍历(三种方式去实现)
import java.util.ArrayList;import java.util.Iterator;import java.util.List;//测试类public class Demo4 { public static void main(String[] args) { RichMan r1=new RichMan("马云"); RichMan r2=new RichMan("王林"); RichMan r3=new RichMan("潘石屹"); RichMan r4=new RichMan("刘强东"); List c=new ArrayList(); c.add(r1); c.add(r2); c.add(r3); c.add(r4); //方法一:运用toArray()方法遍历 Object [] o=c.toArray(); for(int i=0;i<o.length;i++){ RichMan richman=(RichMan)o[i]; System.out.print(richman+",");//马云,王林,潘石屹,刘强东, } System.out.println(""); //方法二:运用集合的get()方法 for(int i=0;i<c.size();i++){ System.out.print(c.get(i)+",");//马云,王林,潘石屹,刘强东, } System.out.println(""); //方法三:运用Iterator的hasNext()方法和next()方法 Iterator it=c.iterator(); while(it.hasNext()){ System.out.print(it.next()+",");//马云,王林,潘石屹,刘强东, } }}class RichMan{ private String name; public RichMan() { super(); // TODO Auto-generated constructor stub } public RichMan(String name) { super(); this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { // TODO Auto-generated method stub return this.name; }}
阅读全文
0 0
- 【Java_SE】作业练习1105
- 【JAVA_SE】作业练习1016
- 【JAVA_SE】作业练习1021
- 【JAVA_SE】作业练习1022
- 【JAVA_SE】作业练习1029
- 【Java_SE】作业练习1104
- 【JAVA_SE】10.1作业
- JAVA_SE基础——25.面向对象练习
- JAVA_SE基础——33.this关键字的练习
- JAVA_SE基础——44.抽象类的练习
- 内存管理作业练习
- 内存管理作业练习
- 内存管理作业练习
- 内存管理作业练习
- 内存管理作业练习
- 内存管理作业练习
- 内存管理作业练习
- 第二次作业编码练习
- HTTP Status 500
- linux 下使用tgz包安装JAVA
- 禁止按钮多次点击的方法
- Retrofit源码解析
- Spring中aop概念以及用法
- 【Java_SE】作业练习1105
- ThreadPool
- java引用与参数传递
- 餐饮界的黑科技 餐厅厨房小票打印机趣味玩法
- C#调用RDP,实现远程桌面共享及控制
- 对象的克隆——原型模式(一)
- 对于加密证书的理解
- MVC 接收url地址传参
- 慕课网——PHP进阶篇(类与面向对象6—10)