集合框架(迭代器使用的问题探讨)

package cn.itcast_03;

import java.util.ArrayList;

import java.util.Collection;

import java.util.Iterator;

/*

* 问题1:能用while循环写这个程序,我能不能用for循环呢?

* 问题2:不要多次使用it.next()方法,因为每次使用都是访问一个对象

*/

public class IteratorTest2 {

public static void main(String[] args) {

// 创建集合对象

Collection c = new ArrayList();

// 创建学生对象

Student s1 = new Student("林青霞", 27);

Student s2 = new Student("风清扬", 30);

Student s3 = new Student("令狐冲", 33);

Student s4 = new Student("武鑫", 25);

Student s5 = new Student("刘晓曲", 22);

// 把学生添加到集合中

c.add(s1);

c.add(s2);

c.add(s3);

c.add(s4);

c.add(s5);

// 遍历

Iterator it = c.iterator();

while (it.hasNext()) {

Student s = (Student) it.next();

        System.out.println(s.getName() + "---" + s.getAge());

// NoSuchElementException 不要多次使用it.next()方法

// System.out.println(((Student) it.next()).getName() + "---"

// + ((Student) it.next()).getAge()); 这儿要报错,为什么呢?你这里相当于拿的是第一个人的名字,第二个人的年龄,第三个人的名字,第四个人的年龄,第五个人的名字,哟,五个人,所以没有了

}

// System.out.println("----------------------------------");

// for循环改写

// for(Iterator it = c.iterator();it.hasNext();){

// Student s = (Student) it.next();

// System.out.println(s.getName() + "---" + s.getAge());

// }

}

}

时间: 2024-10-22 04:50:56

集合框架(迭代器使用的问题探讨)的相关文章

JAVA-初步认识-常用对象API(集合框架-迭代器使用)

一. 我们完善完集合框架顶层接口Collection中常见方法学习以后,准备把存储在Collection集合中的元素给它取出来,因为存的目的就是为了方便取出来使用元素.这个取得动作,Colection给我们提供了一个迭代器的方法(迭代器是一个专业术语,意为取出集合中元素的方式). 取出元素的方式是个方法完成的,现在来演示一下. new谁不重要,只要能new就可以(Collection接口的子类很多,挑选一个创建对象). 调用集合的迭代器方法,返回集合中的迭代器对象,那么返回的这个对象是什么类型?

集合框架(迭代器的原理及源码解析)

public interface Inteator { boolean hasNext(); Object next(); } public interface Iterable {    Iterator iterator();} public interface Collection extends Iterable { Iterator iterator();} public interface List extends Collection { Iterator iterator();}

Java学习之集合框架的迭代器--Iteratorjk及ListItertor接口

通常情况下,你会希望遍历一个集合中的元素.例如,显示集合中的每个元素.一般遍历数组都是采用for循环或者增强for,这两个方法也可以用在集合框架,但是还有一种方法是采用迭代器遍历集合框架,它是一个对象,实现了Iterator 接口或ListIterator接口.迭代器,使你能够通过循环来得到或删除集合的元素.ListIterator 继承了Iterator,以允许双向遍历列表和修改元素.Iterator和ListIterator都是泛型接口,它们的 声明: interface  Iterator

JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用

JAVA之旅(十八)--基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用 JAVA把完事万物都定义为对象,而我们想使用数据类型也是可以引用的 一.基本数据类型的对象包装类 左为基本数据类型,又为引用数据类型 byte Byte int Integer long Long boolean Booleab float Float double Double char Character 我们拿Integer来举例子 //整

黑马程序员_JavaSE学习总结第15天_集合框架1

------- android培训.java培训.期待与您交流! ----------  15.01 对象数组的概述和使用 1 public class Student 2 { 3 // 成员变量 4 private String name; 5 private int age; 6 7 // 构造方法 8 public Student() 9 { 10 super(); 11 } 12 13 public Student(String name, int age) 14 { 15 super(

JavaSE_ 集合框架 总目录(15~18)

黑马程序员_JavaSE学习总结第15天_集合框架1 15.01 对象数组的概述和使用15.02 对象数组的内存图解15.03 集合的由来及与数组的区别15.04 集合的继承体系图解15.05 Collection集合的功能概述15.06 Collection集合的基本功能测试15.07 Collection集合的高级功能测试15.08 集合的遍历之集合转数组遍历15.09 Collection存储自定义对象并遍历案例(使用数组)15.10 集合的遍历之迭代器遍历15.11 Collection

JavaSE学习总结第15天_集合框架1

15.01 对象数组的概述和使用 1 public class Student 2 { 3 // 成员变量 4 private String name; 5 private int age; 6 7 // 构造方法 8 public Student() 9 { 10 super(); 11 } 12 13 public Student(String name, int age) 14 { 15 super(); 16 this.name = name; 17 this.age = age; 18

【学习笔记】java集合框架1

内容: /******************** 数组与集合集合框架体系SET接口LIST接口迭代器接口Map接口老集合类的使用内部比较器与外部比较器集合类的综合使用 ********************/ 一. 数组 int[] aryInt = new int[100]用于容纳一组数据数组的特点:在Java中,数组是被当做对象处理的数组长度在数组初始化时必须固定长度在固定之后,要改变数组长度大小的话,必须对数组进行长度大小变化的控制 package com.fjnu.study2; p

Java—集合框架List

集合的概念 现实生活中:很多的事物凑在一起 数学中的集合:具有共同属性的事物的总和 Java中的集合类:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象 集合的作用 在类的内部,对数据进行组织(针对作用与意义一样的属性,将他们放到一个集合中) 简单而快速的搜索大数量的条目 有的集合接口,提供了一系列排列有序的元素,并且可以在序列中快速的插入或删除有关元素 有的集合接口,提供了映射关系,可以通过关键字(key)去快速查找到对应的唯一对象,而这个关键字可以是任意类型 与数组相比 数组的长度