黑马程序员技术交流社区
标题:
黑马程序员List集合嵌套存储和遍历元素的案例 希望能对大...
[打印本页]
作者:
ulddfhv
时间:
2015-4-13 22:54
标题:
黑马程序员List集合嵌套存储和遍历元素的案例 希望能对大...
本帖最后由 ulddfhv 于 2015-4-13 23:20 编辑
------<a target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
复制代码
package cn.itcast.list;
import java.util.ArrayList;
import java.util.List;
//需求:学校中有两个班级,每个班级都有若干学生,将班级中的学生进行一下管理。 集合中装入的是Student对象.
public class ListDemo {
public static void main(String[] args) {
// 1.创建一个可以装入一班学生的集合
List<Student> first = new ArrayList<Student>(); //记得要导集合的包哦亲,快捷键ctrl+shift+o
first.add(new Student("张无忌")); //向集合中添加元素
first.add(new Student("令狐冲"));
first.add(new Student("杨过"));
// 2.创建一个可以装入二班学生的集合
List<Student> second = new ArrayList<Student>();
second.add(new Student("tom"));
second.add(new Student("fox"));
second.add(new Student("james"));
second.add(new Student("lucy"));
// 3.创建一个学校,用于装入一班与二班
// 问题:school这个集合的泛型是什么?
List<List<Student>> school = new ArrayList<List<Student>>(); // 描述的是school这个集合中的元素是List类型,而集合中元素List中的类型是String
school.add(first); //这里就是集合的嵌套存储了 school集合里面存储一个first班级的集合 还是用add方法
school.add(second);
//4.将集合中所有的元素遍历出来
//问题:对于List集合,你有几种遍历方式?
//1.Iterator 2.for+size+get 3.foreach 4.ListIterator
//关于这四种的选择 :1.如果要全部迭代出来可以用foreach也叫增强for 2.如果不涉及到同步问题 ,要精确控制可以使用for+size+get 3.如果涉及到了同步可以用iterator
for(List<Student> ss:school){ //从school中迭代出来的是也是一个List集合
for(Student s:ss){ //双使用了一个foreach对其进行遍历。
System.out.println(s.getName()); //打印集合中的元素
}
System.out.println("-----------华丽的分割线-------------");
}
}
}
class Student {
private String name; //提供private的私有属性字段
public Student(String name) { //提供有参构造方法
super();
this.name = name;
}
public Student() { //提供无参构造方法
}
//提供get/set方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
一个简单的集合嵌套存储与遍历的作业,希望能对大家有所帮助。有什么不明白的地方,大家也可以一起相互讨论,我们共同学习,共同进步哦!!!:):):)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2