jdk1.5出现的新特性---->增强for循环
来源:互联网 发布:022型导弹艇 知乎 编辑:程序博客网 时间:2024/05/29 16:55
package cn.itcast.jdk15;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.Map;import java.util.Set;/*jdk1.5出现的新特性---->增强for循环增强for循环的作用: 简化迭代器的书写格式。(注意:增强for循环的底层还是使用了迭代器遍历。)增强for循环的适用范围: 如果是实现了Iterable接口的对象或者是数组对象都可以使用增强for循环。增强for循环的格式: for(数据类型 变量名 :遍历的目标){ }增强for循环要注意的事项: 1. 增强for循环底层也是使用了迭代器获取的,只不过获取迭代器由jvm完成,不需要我们获取迭代器而已,所以在使用增强for循环变量元素的过程中不准使用集合 对象对集合的元素个数进行修改。 2. 迭代器遍历元素与增强for循环变量元素的区别:使用迭代器遍历集合的元素时可以删除集合的元素,而增强for循环变量集合的元素时,不能调用迭代器的remove方法删除元素。 3. 普通for循环与增强for循环的区别:普通for循环可以没有变量的目标,而增强for循环一定要有变量的目标。 */public class Demo2 { public static void main(String[] args) { HashSet<String> set = new HashSet<String>(); //添加元素 set.add("狗娃"); set.add("狗剩"); set.add("铁蛋"); /* //使用迭代器遍历Set的集合. Iterator<String> it = set.iterator(); while(it.hasNext()){ String temp = it.next(); System.out.println("元素:"+ temp); it.remove(); } //使用增强for循环解决 for(String item : set){ System.out.println("元素:"+ item); } int[] arr = {12,5,6,1}; 普通for循环的遍历方式 for(int i = 0 ; i<arr.length ; i++){ System.out.println("元素:"+ arr[i]); } //使用增强for循环实现 for(int item :arr){ System.out.println("元素:"+ item); } //需求: 在控制台打印5句hello world. for(int i = 0 ; i < 5; i++){ System.out.println("hello world"); } */ //注意: Map集合没有实现Iterable接口,所以map集合不能直接使用增强for循环,如果需要使用增强for循环需要借助于Collection // 的集合。 HashMap<String, String> map = new HashMap<String, String>(); map.put("001","张三"); map.put("002","李四"); map.put("003","王五"); map.put("004","赵六"); Set<Map.Entry<String, String>> entrys = map.entrySet(); for(Map.Entry<String, String> entry :entrys){ System.out.println("键:"+ entry.getKey()+" 值:"+ entry.getValue()); } }}
package cn.itcast.jdk15;import java.util.Iterator;//自定一个类使用增强for循环class MyList implements Iterable<String>{ Object[] arr = new Object[10]; int index = 0 ; //当前的指针 public void add(Object o){ arr[index++] = o; // 1 } public int size(){ return index; } @Override public Iterator<String> iterator() { return new Iterator<String>() { int cursor = 0; @Override public boolean hasNext() { return cursor<index; } @Override public String next() { return (String) arr[cursor++]; } @Override public void remove() { } }; }}public class Demo3 { public static void main(String[] args) { MyList list = new MyList(); list.add("张三"); list.add("李四"); list.add("王五"); for(String item :list){ System.out.println(item); } }}
package cn.itcast.jdk15;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class Test { public static void main(String[] args) { List list = new ArrayList(); list.add("1"); list.add("4"); list.add("2"); list.add("7"); // 因为2是最后一个元素了,也就是删除后 没有在调用了迭代 器的next方法。 Iterator<String> it = list.iterator(); while(it.hasNext()){ String s = it.next(); if("1".equals(s)){ list.remove("1"); break; } } System.out.println(list); }}
0 0
- jdk1.5出现的新特性---->增强for循环
- JDK1.5 新特性-增强FOR循环
- JDK1.5新特性-增强for循环
- JDK1.5新特性5-增强for循环
- 黑马程序员-jdk1.5新特性--For循环增强
- jdk1.5新特性(增强for循环)
- 黑马程序员-jdk1.5新特性之增强for循环
- jdk1.5新特性之增强for循环
- jdk1.5新特性之增强for循环
- JDK1.5新特性之---增强for循环
- [java]jdk1.5的新特性----可变参数、增强for循环、枚举、单例模式
- 【黑马程序员】jdk1.5的新特性之可变参数和增强for循环
- 黑马程序员--jdk1.5的新特性:可变参数,增强for循环,自动装箱拆箱(重点)
- jdk1.5新特性——可变参数、增强for循环、枚举
- 黑马程序员—JDK1.5新特性(增强for循环、可变参数、静态导入)
- 黑马程序员---JDK1.5新特性之(增强for循环、可变参数、静态导入)
- Java基础-----jdk1.5新特性(静态导入,增强for循环,枚举)
- Java学习笔记之JDK1.5新特性(二):增强for循环
- 认清自己的位置
- OC基础教程1-Hello Wrold(OS X版)
- jdk1.5新特性之-------静态导入
- C#中的线程(三) 使用多线程
- C 【block类型全方位详解】
- jdk1.5出现的新特性---->增强for循环
- jdk1.5新特性之------->可变参数
- linux内核之 V4L2框架分析
- 风风雨雨,我们又一年
- 欢迎使用CSDN-markdown编辑器
- xshell下利用SFTP传输文件
- jdk1.5新特性之-----枚举
- Android中AsyncTask的内存泄露
- python+opencv2生成随机字母