`
javacto
  • 浏览: 84009 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Iterator Study 【002】

阅读更多

尚学堂_马士兵_第七章_Iterator学习




package com.iterator;
import java.util.Iterator ; 
import java.util.Collection ;
import java.util.HashSet ;
public class TestIterator {
	public static void main(String ages[]) {
		Collection c = new HashSet() ;
		c.add(new Name("f1","11")) ;
		c.add(new Name("f2","22")) ;
		c.add(new Name("f3","33")) ;
		Iterator i = c.iterator() ;
		while(i.hasNext()) {
			//next 返回值是object 类型,需要转换成相应类型,此处也用到多态
			Name name = (Name)i.next() ; //将游标移到下一个位置
			System.out.println(name.getFirstName()) ;
		}
		
		//   remove
		c.add(new Name("f4","4444")) ;
		c.add(new Name("f5","55")) ;
		c.add(new Name("f6","666")) ;
		for(Iterator j =c.iterator(); j.hasNext();  ) {
			Name name = (Name)j.next() ;
			if(name.getSecondName().length() < 3 ) 
				j.remove();
			  //c.remove(name) ;  //不能调用容器本身的remove方法,iterator 内部执行了锁定,就其内部可看
		}
		System.out.println(c) ;
	}

}
class Name {
	private String firstName ;
	private String secondName ;
	public Name(String firstName, String secondName) {
		this.firstName = firstName ;
		this.secondName = secondName ;
	}
	public String getFirstName() {
		return firstName ;
	}
	public String getSecondName() {
		return secondName ;
	}
	public String toString() {
		return firstName + " " + secondName ;
	}
}


结果:
f2
f1
f3
[f6 666, f4 4444]

HashSet无序,所以遍历出来的结果会不一样




  • 大小: 144.8 KB
分享到:
评论

相关推荐

    C++Study (有关C++学习的教程,希望有帮助)

    5. **STL(Standard Template Library)**:STL是C++的标准库,包含容器(如vector、list、set、map等)、迭代器(iterator)、算法(algorithm)和函数对象(functors)等组件,极大地简化了编程工作。 6. **内存...

    亚信java笔试题-study:学习笔记

    study     vue   es6 学习笔记 戏剧性教育 自适应 vue官网地址: vue学习笔记地址: 生命周期 ajax、 vue实例的属性和方法 自定义指令 过度动画 组件 es6学习笔记地址: let const 变量的解构赋值 symbol set ...

    PythonStudy:我对python的研究

    此外,生成器(generator)和迭代器(iterator)提供了高效的内存管理和数据流处理方式。 Python的标准库非常丰富,其中包含许多实用模块,例如os用于操作系统接口,sys用于系统相关操作,math用于数学运算,numpy...

    Objective C 设计模式(英文版)

    Chapter 2: A Case Study: Designing an App Chapter 3: Prototype Chapter 4: Factory Method Chapter 5: Abstract Factory Chapter 6: Builder Chapter 7: Singleton Chapter 8: Adapter Chapter 9: Bridge ...

    design-pattern-study:设计模式学习代码

    "design-pattern-study"项目显然是一个专注于设计模式学习和实践的代码库。通过分析其中的代码,我们可以深入理解设计模式的原理和应用。在这个项目中,"design-pattern-study-main"可能包含了不同设计模式的实例...

    java_study:学习到Java的存储库

    - Iterator和ListIterator遍历集合的方式。 4. **输入/输出(I/O)系统** - 流的概念,包括字节流和字符流,以及对应的输入流、输出流。 - 文件操作,如File类的使用,以及文件读写。 - 对象序列化和反序列化,...

    ES6-Study:个人学习ES6所用

    1. **迭代器**:通过 `Symbol.iterator` 属性定义,使得对象可以被遍历,支持 `for...of` 循环。 2. **生成器(Generator)**:返回一个可迭代对象,允许暂停和恢复执行,常用于异步编程,如实现协程。 ### 九、...

    java-study

    - 基本概念如迭代器(Iterator)、泛型、容量和初始容量、扩容机制、线程安全性等。 2. **流与Lambda表达式**: - Java 8引入了流API,使得处理集合数据变得更加简洁高效。流可以用于过滤、映射、归约等操作。 -...

    Map,HashMap,TreeMap的使用

    package com.lrm.study.testcase; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; import java.util.TreeMap; public class MapAppTest { public...

    java_study

    在这个“java_study”压缩包中,我们很可能是找到了一个关于Java学习的资源库,比如代码示例、教程文档或者项目实践。 在深入Java学习的过程中,有几个核心知识点是必不可少的: 1. **基础语法**:包括数据类型...

    es2018_study:JavaScript符号,迭代器,生成器,AsyncAwait和异步迭代器-全部简单解释-https

    在JavaScript中,`Symbol.iterator`是一个特殊的符号,可以被用作对象的一个方法,返回一个迭代器对象。这个迭代器对象有一个`next()`方法,用于获取集合中的下一个元素。 生成器(Generators)是ES6引入的另一个...

    java练习题

    goodStudent.study(); goodStudent.hardWork(); BadStudent badStudent = new BadStudent("Bob", 22, "Male"); badStudent.eat(); badStudent.smoke(); badStudent.drink(); } } ``` #### 5. 多态及向下...

    struts2 标签

    例如,`&lt;s:property&gt;`用于显示数据栈中的值,`&lt;s:iterator&gt;`用于遍历集合,`&lt;s:set&gt;`用于设置变量等。这些标签为开发者提供了灵活的数据处理和页面控制能力。 #### AJAX标签 AJAX标签是Struts2中专为异步请求设计...

    es6:在我的 ES6 演讲中使用的代码片段

    console.log(iterator.next()); // { value: 3, done: false } console.log(iterator.next()); // { value: undefined, done: true } ``` 9. **Set 和 Map 数据结构**: Set存储不重复值的集合,Map则为键值对...

    358575610.doc

    - **迭代器**:使用Iterator接口遍历容器中的所有对象,展示每个学生的详细信息。 ### 四、示例代码框架 ```java public class Person { private String name; private int age; public Person() { // 无参...

    leetcode切割分组-python3:python3实践

    study notes python3 practice Hello World! number game string method(built-in) sequence method(list,tuple built-in) function dict file pickle inherit(fish) timer craw youdao dictionary translation ...

Global site tag (gtag.js) - Google Analytics