全新java初学者实践附加教程3――――jdk5中for语句的补充
在我们学习数组那节课里,我们学会了用for迭代数组里面的各个元素,这是很方便的,也是在之前的jdk的版本中没有的功能。For语句除了循环和找数组之外还有,迭代集合类等等功能。这个for语句它抛弃了Iterator(迭代),使得遍历集合类变得简单。 看看以前版本的Iterator是怎么做的: public void testIterator() throws IOException { List list = getList(); //在某处初始化这个list for(Iterator i = list.iterator();i.hasNext();){ Object listElement = i.next(); System.out.println(listElement.toString()); }} 写一个链表的迭代,需要这么多代码。 而现在就不用了 public void testFor() { List list = getList(); for (Object listElement : list) { System.out.println(listElement.toString()); }}看看新版本的是不是简单多了。 实践: import java.io.IOException; import java.io.PrintStream; public class CustomObjectTester { //一个继承List的对象 private GuitarManufacturerList manufacturers; public CustomObjectTester() { this.manufacturers = new GuitarManufacturerList(); } public void testListExtension(PrintStream out) throws IOException { //添加一些字符串 manufacturers.add("Epiphone Guitars"); manufacturers.add("Gibson Guitars"); // for迭代 for (String manufacturer : manufacturers) { out.println(manufacturer); }} public static void main(String[] args) { try { CustomObjectTester tester = new CustomObjectTester(); tester.testListExtension(System.out); } catch (Exception e) { e.printStackTrace(); }}}还有一个类 import java.util.LinkedList; @SuppressWarnings("serial") public class GuitarManufacturerList extends LinkedList<String> { public GuitarManufacturerList() { super(); } public boolean add(String manufacturer) { if (manufacturer.indexOf("Guitars") == -1) { return false; } else { super.add(manufacturer); return true; }}}几个此例子打包下载 如有问题请访问技术论坛