关于java中一些代码的理解
2016-05-25 21:49
399 查看
Iterable和Iterator的区别
首先Iterable是java.lang包中的,它的三个接口方法是
forEach(Consumer< ? super T> action) 、iterator() 、spliterator()
很多类都继承了Iterable,这样就可以调用他们的方法。
Iterator是java.util包中的,它的四个接口方法是
forEachRemaining(Consumer< ? super E> action) 、hasNext() 、next() 、remove()
一般都是配合使用,例如
在这里Map.Entry是Map里的内部接口,封装了getKey(),getValue()等方法。
HashMap存放进去的顺序和取出来时候的顺序是不一致的,想要顺序一致的话可以用LinkedHashMap
放入HashSet中的数据结构一般要实现equals和hashcode方法
首先Iterable是java.lang包中的,它的三个接口方法是
forEach(Consumer< ? super T> action) 、iterator() 、spliterator()
很多类都继承了Iterable,这样就可以调用他们的方法。
Iterator是java.util包中的,它的四个接口方法是
forEachRemaining(Consumer< ? super E> action) 、hasNext() 、next() 、remove()
一般都是配合使用,例如
System.out.println("通过Map.keySet遍历key和value:"); for (String key : map.keySet()) { System.out.println("key= "+ key + " and value= " + map.get(key)); } System.out.println("通过Map.entrySet使用iterator遍历key和value:"); Iterator<Map.Entry<String, String>> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, String> entry = it.next(); System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } System.out.println("通过Map.entrySet遍历key和value"); for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); }
在这里Map.Entry是Map里的内部接口,封装了getKey(),getValue()等方法。
HashMap存放进去的顺序和取出来时候的顺序是不一致的,想要顺序一致的话可以用LinkedHashMap
放入HashSet中的数据结构一般要实现equals和hashcode方法
相关文章推荐
- javaSE 模拟Spring框架的Ioc
- Java系统工具jps原理解析
- Spring 计划 7.0
- Java中HashMap、TreeMap的区别
- Eclipse快捷键 10个最有用的快捷键
- java synchronized详解
- eclipse导入项目,项目名出现红叉的情况
- maven 项目提示找不到javax.servlet.xxx问题解决
- Java-equals()和toSting()用法(面向对象编程思想)
- java基本数据类型包装类
- java 单例模式 最经典的例子
- Spring整合技术之Hibernate
- [Java]ArrayList与LinkedList的模拟实现
- Java IO - Reader&Writer
- 导入Mybatis_Spring项目遇到的问题
- Description Resource Path Location Type Java compiler level does not match the version of the in解决方法
- Java中HashSet、TreeSet的区别
- 【转】spring源码解析
- 菜鸟学Java之错将for循环大写
- Spring Boot 快速入门