一.抛弃Iterator
for/in语句排除了使用Iterator类的使用。
List<String> list = new ArrayList<String>();
list =getList();
for(String string: list){
System.out.println("======: "+ string );
}
for(Iterator i = list.iterator(); i.hasNext();){
String string = (String)i.next();
System.out.println("======: "+ string );
}
语法
引用
for(declaration : expression)
statment
其实编译器会把它编译成普通的for循环处理的,因此,Tiger的for/in仅仅是让你少打点字,没有什么其他的优势....but注意:
expression必须是Array或者一个实现Iterable接口的对象,且能分配兼容于declaration中声明的变量类型(之执行一次)
declaration是由类型和变量组成的(必须在循环中声明)。可以采用annotation和final修饰符(防止循环变量采用任何非循环做指点的expression值和强调expression值不能通过循环变量来修改)
二. Over array
很简单..
引用
int[] array = new int[]{1,2,3,4,5,6,7,8,9,0};
for(int i :array){
System.out.println("======: "+ i );
}
当然,对象数组一样可以...
三. Over Collection
跟over rarray一样...仅仅多了需要转换类型..那么
避免不需要的类型转换----声明collection的时候使用generic(泛型)吧!
四. 让自己的Class也可以for/in
一、 继承之Array或Collection类吧..
引用
public class myList extends LinkedList{...}
二、实现Iterable接口吧,这个需要你手动处理iteration...
引用
public class myList implements Iterable{...}
五. 一写for/in无法办到的事情
for/in很方便,but
1.无法判断访问list位置,(例如字符串合并时,最后一个连接字符的处理)
2.无法访问list本身变量,(例如在循环时removme某一元素)
3.反向array或collection元素
4.调用get而不是调用iterator来iterate list的元素
5......
分享到:
相关推荐
6. **For/In语句(增强的for循环)**:Java 5.0的增强for循环,也称为foreach循环,简化了遍历集合、数组和其他迭代器支持的数据结构的操作。例如,`for (Type element : collection) { ... }`的语法使得代码更加...
### Tiger语言语法手册知识点解析 #### 一、简介 ...通过以上解析可以看出,Tiger语言虽然简单,但涵盖了编程语言中的许多基本概念,如变量声明、类型定义、控制流等,非常适合于学习编译原理的教学用途。
### Tiger语言操作手册知识点概述 #### 一、简介 Tiger语言是一种小型的命令式...综上所述,Tiger语言虽然简单,但涵盖了编程语言的基本元素,包括数据类型、控制结构、函数等,非常适合用来学习编译原理的基础概念。
* Vocabulary:lion 狮子、pig 猪、cow 牛、hippo 河马、fox 狐狸、wolf 狼、sheep 绵羊、snake 蛇、duck 鸭子、tiger 老虎、elephant 大象、rabbit 兔子、crocodile 鳄鱼、budgie 八哥、hamster 仓鼠、fish 鱼、...
3. 用于树型语言的数据结构(Data structures for tree languages):在编译器中,数据结构是存储和操作程序代码的基础。特别是树形数据结构,它广泛用于表示抽象语法树(AST)。 4. 词法分析(Lexical Analysis)...
6. **in exchange for** 和 **exchange...for...**:这两个短语都表示用一个物品或服务换取另一个物品或服务。例如,"I gave her a sweater in exchange for a skirt." 或 "Can I exchange pounds for dollars here?...
例如《Classic Shell Scripting》、《Effective awk Programming》、《...in a Nutshell》、《Mac OS X Tiger for Unix Geeks》、《Managing Projects with GNU Make》、《Running Linux》、《sed and awk Pocket ...
### Oracle数据库学习知识点详解 #### 一、基本使用 ##### 1.1 常用命令 **1.1.1 Connect/Disconnect 数据库连接命令** - **Connect**: 使用 `connect` 命令可以连接到Oracle数据库。语法通常为 `connect ...
- 学习更多动物词汇,如panda(熊猫)、monkey(猴子)、elephant(大象)、tiger(老虎)、wolf(狼)、bear(熊)、snake(蛇)以及形容词big(大的)、small(小的)、fat(胖的)、thin(瘦的)、long(长的)...
14. in(在……里面) 15. on(在……上面) 16. under(在……下面) 同时,这个单元还强调了询问和识别动物的句型: 1. What's this? It's a(an)_____.(这是什么?这是……) 2. Is it a ____? Yes, it is./No,...
- 老虎:tiger - 大象:elephant - 树袋熊:koala - 狮子:lion - 长颈鹿:giraffe - 动物:animal - 种类:kind - 澳大利亚:Australia - 南方:south - 非洲:Africa - 宠物:pet - 腿:leg - 猫:...
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger"); CallableStatement cstmt = conn.prepareCall("{call my_procedure(?, ?)}"); cstmt.setInt(1, ...
这篇学习资料主要针对九年级英语Unit11 "What’s the highest mountain in the world" Section B (1a-1d)的内容展开,旨在帮助学生掌握本单元的重点词汇、短语以及如何表达事物之间的倍数关系。通过这份学案,学生将...
小学英语中的16种常见问句涵盖了日常生活中各种情境下的交流话题,对于小学生学习英语语法和口语表达至关重要。以下是对这些问句类型的详细解释: 1. **询问姓名**: - `What’s your name?` 这是用来询问对方名字...
修辞,作为一种语言艺术,自古以来就广泛应用于各种文体之中,特别是在英语广告领域,它的重要性不言而喻。汽车广告,作为现代商业宣传的重要载体,巧妙运用修辞手法能够吸引消费者的注意力,提升品牌形象,促进销售...
这篇练习主要涉及的是初中阶段的英语学习,特别是八年级下册Unit7《What’s the highest mountain in the world》的相关知识点。这个单元主要围绕地理、动物、环境保护等主题展开,下面是根据题目内容提炼出的相关...
1. **TIGEr Text-to-Image Grounding for Image Caption Evaluation**:这篇论文关注的是文本到图像的对齐问题,即如何评估图像描述(caption)的质量。Text-to-Image Grounding是验证文本描述是否准确反映图像内容...
6. **交通工具**:train, bus, car, van, taxi, bicycle, ship, can, can't, hear, listen, outside, inside, beside, tiger, cat, dog, red, down, up, bus stop, here, go, station, wait for, road, beside the ...
本单元主题是关于动物,旨在帮助学生了解动物的生活习性、分布区域,并学习与之相关的词汇和表达。 1. 主要目标(Objectives): - 理解“Animals”这一主题的主要思想。 - 学习关键单词和实用表达。 - 了解生活...
1. 表示"一"的概念,例如:"There is a tiger in the zoo."(动物园里有一只老虎。) 2. 表示一类人或事物,如:"A tiger can be dangerous."(老虎可能有危害性。) 3. 表示"每一"的意思,如"We go swimming four ...