- 案例:List集合存储学生对象的集合
需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合。
分析:
(1)定义学生类
(2)创建List集合对象
(3)创建学上对象
(4)把学生添加到集合
(5)遍历集合(迭代器方式、for循环方式)
完整代码:
package com.xuexi;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Demo3 {
public static void main(String[] args) {
//创建List集合对象
List<Student> list = new ArrayList<Student>();
//创建学生对象
Student s1 = new Student("Tom",4);
Student s2 = new Student("Bob",6);
Student s3 = new Student("Mia",5);
//把学生添加到集合
list.add(s1);
list.add(s2);
list.add(s3);
//遍历集合
Iterator<Student> it = list.iterator();
while(it.hasNext()){
Student s = it.next();
System.out.println(s.getName()+','+s.getAge());
}
System.out.println("…………………………………………");
for (int i=0; i<list.size(); i++){
Student s = list.get(i);
System.out.println(s.getName()+','+s.getAge());
}
}
}
运行结果:
Tom,4
Bob,6
Mia,5
…………………………………………
Tom,4
Bob,6
Mia,5
- 案例:List集合存储学生对象用三种方式遍历
需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合。
分析:
(1)定义学生类
(2)创建List集合对象
(3)创建学上对象
(4)把学生添加到集合
(5)遍历集合:
①迭代器:集合特有的遍历方式
②普通for:带有索引的遍历方式
③增强for:最方便的遍历方式
package com.xuexi;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class Demo7 {
public static void main(String[] args) {
//创建List集合对象
List<Student> list = new ArrayList<Student>();
//创建学生对象
Student s1 = new Student("Tom",4);
Student s2 = new Student("Bob",5);
Student s3 = new Student("Mia",8);
//把学生添加到集合
list.add(s1);
list.add(s2);
list.add(s3);
//迭代器:集合特有的遍历方式
ListIterator<Student> lt = list.listIterator();
while (lt.hasNext()){
Student s = lt.next();
System.out.println(s.getName()+","+s.getAge());
}
System.out.println("………………………………");
//普通for循环:带有索引的遍历方式
for (int i=0; i<list.size(); i++){
Student s = list.get(i);
System.out.println(s.getName()+","+s.getAge());
}
System.out.println("……………………………………");
//增强for循环:最方便的遍历方式
for (Student s: list){
System.out.println(s.getName()+","+s.getAge());
}
}
}
Tom,4
Bob,5
Mia,8
………………………………
Tom,4
Bob,5
Mia,8
……………………………………
Tom,4
Bob,5
Mia,8
Process finished with exit code 0
- 练习
练习:分别使用ArrayList,LinkedList完成存储字符串并遍历。
完整代码:
package com.xuexi;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.ListIterator;
public class Demo8 {
public static void main(String[] args) {
//创建集合对象
ArrayList<String> array = new ArrayList<String>();
//添加元素
array.add("hello");
array.add("world");
//遍历
Iterator<String> it = array.iterator();
while (it.hasNext()){
String s = it.next();
System.out.println(s);
}
System.out.println("…………………………………………");
for (int i=0; i<array.size(); i++){
String s = array.get(i);
System.out.println(s);
}
System.out.println("…………………………………………");
for (String s : array){
System.out.println(s);
}
System.out.println("…………………………………………");
LinkedList<String> link = new LinkedList<String>();
link.add("java");
link.add("yeah");
Iterator<String> li = link.iterator();
while (li.hasNext()){
String s = li.next();
System.out.println(s);
}
System.out.println("…………………………………………");
for (int i=0; i<link.size(); i++){
String s = link.get(i);
System.out.println(s);
}
System.out.println("…………………………………………");
for (String s : link){
System.out.println(s);
}
}
}
运行结构
hello
world
…………………………………………
hello
world
…………………………………………
hello
world
…………………………………………
java
yeah
…………………………………………
java
yeah
…………………………………………
java
yeah
Process finished with exit code 0
- 案例:List集合存储学生对象用三种方式遍历
需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合。
分析:
(1)定义学生类
(2)创建ArrayList集合对象
(3)创建学上对象
(4)把学生添加到集合
(5)遍历集合:
①迭代器:集合特有的遍历方式
②普通for:带有索引的遍历方式
③增强for:最方便的遍历方式
完整代码:
package com.xuexi;
import java.util.ArrayList;
import java.util.Iterator;
public class Demo9 {
public static void main(String[] args) {
ArrayList<Student> array = new ArrayList<Student>();
Student s1 = new Student("Tom",5);
Student s2 = new Student("Bob",7);
Student s3 = new Student("Amy",78);
array.add(s1);
array.add(s2);
array.add(s3);
Iterator<Student> li = array.iterator();
while (li.hasNext()){
Student s = li.next();
System.out.println(s.getName()+','+s.getAge());
}
System.out.println("…………………………………………");
for (int i=0; i<array.size(); i++){
Student s = array.get(i);
System.out.println(s.getName()+','+s.getAge());
}
System.out.println("…………………………………………");
for (Student s : array){
System.out.println(s.getName()+','+s.getAge());
}
}
}
运行结果:
Tom,5
Bob,7
Amy,78
…………………………………………
Tom,5
Bob,7
Amy,78
…………………………………………
Tom,5
Bob,7
Amy,78
Process finished with exit code 0