一、java语言支持四种类型:java
(1)接口(interface):数组
(2)类(class):性能
(3)数组(Array):code
(4)基本类型(primitive):惟一非引用类型(reference type)对象
二、方法签名:包括方法名称、参数,不包括返回值;索引
《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《接口
一、foreach循环rem
for (T rf : list) { Map<String,Object> map=ObjectUtil.getFieldMap(rf); datalist.add(map); }
(1)迭代器和索引变量容易引发混乱;一旦出错,编译器不必定能发现;get
(2)foreach避免出现混乱;编译器
(3)foreach没有性能损失,数组也同样;
(4)相比于普通for循环,有性能优点,由于对数组边界值仅计算一次;
(5)两个集合嵌套式迭代,foreach优点更明显:
(6)for循环嵌套必须在外层嵌套取出i.next():
(6.1)错误 for循环嵌套:
(7)foreach 嵌套则没必要:
(8)能够遍历集合、数组,实现了Iterator接口的对象;
(9)Iterator接口与foreach同时引入java平台:
(10)一组元素,能够不实现Collection接口,请实现Iterator接口,这样可使用foreach;
二、没法使用foreach状况
(1)过滤:在遍历集合,并删除指定元素时;请显式使用迭代器,调用它的remove方法;
(2)转换:在遍历列表或集合,并取代部分元素值,须要列表迭代器、数组索引,设定元素值;
(3)平行迭代:在并行遍历多个集合,此时使用嵌套for循环,如(6.1);
三、迭代器Iterator
(1)for循环须要事先知道集合的内部结构,访问代码和集合紧密耦合;
(2)Iterator能够将其分离;
四、迭代器(Iterator)与枚举(Enumeration)有两点不一样:
(1)在迭代期间从迭代器所指向的 collection 移除元素;
(2)方法名称获得了改进,只需使用 next()、hasNext() 两个方法便可完成迭代;