java学习(2)Map类的遍历
2016-10-31 20:18
239 查看
1. Map类的遍历总共分为三种(有的分成四种,但我觉得就三种)
1.1. 按照key
1.2. 按照value(但是此种不能遍历key,只能遍历value)
1.3. 利用Map.Entry
2. 下面是代码:
首先是main函数:
public static void main(String[] args) {
// TODO Auto-generated method stub
Map<Integer,String> map = new HashMap<Integer,String>();
//Map<Integer,String> map = new LinkedHashMap<Integer,String>();
//Map<Integer,String> map = new TreeMap<Integer,String>();
map.put(1, "one");
map.put(5, "five");
map.put(3, "three");
map.put(2, "two");
traverseByKey(map);
traverseByValue(map);
traverseByEntry(map);
}
按照key遍历:(其中没有用泛型,因为这样更具有普适性,后面的排序就是直接用的这里的遍历方法,很方便)
public static void traverseByKey(Map map)
{
Set keySet = map.keySet();
Iterator iter = keySet.iterator();
System.out.println("traverseByKey: ");
while(iter.hasNext())
{
//Integer key = (Integer)iter.next();
//get里面会直接发生强转。
Object o = iter.next();
System.out.println(o+": "+map.get(o));
}
System.out.println("traverseByKey: end");
}
按照Value:
按照Entry:
1.1. 按照key
1.2. 按照value(但是此种不能遍历key,只能遍历value)
1.3. 利用Map.Entry
2. 下面是代码:
首先是main函数:
public static void main(String[] args) {
// TODO Auto-generated method stub
Map<Integer,String> map = new HashMap<Integer,String>();
//Map<Integer,String> map = new LinkedHashMap<Integer,String>();
//Map<Integer,String> map = new TreeMap<Integer,String>();
map.put(1, "one");
map.put(5, "five");
map.put(3, "three");
map.put(2, "two");
traverseByKey(map);
traverseByValue(map);
traverseByEntry(map);
}
按照key遍历:(其中没有用泛型,因为这样更具有普适性,后面的排序就是直接用的这里的遍历方法,很方便)
public static void traverseByKey(Map map)
{
Set keySet = map.keySet();
Iterator iter = keySet.iterator();
System.out.println("traverseByKey: ");
while(iter.hasNext())
{
//Integer key = (Integer)iter.next();
//get里面会直接发生强转。
Object o = iter.next();
System.out.println(o+": "+map.get(o));
}
System.out.println("traverseByKey: end");
}
按照Value:
//按照Value,但是不能遍历key public static void traverseByValue(Map<Integer,String> map) { //不能用向下转型,向下转型只有在你知道他本来是什么类型的情况下才会成功。 Collection<String> values = (Collection<String>) map.values(); System.out.println("traverseByValue: "); for(String value: values) { System.out.println("value: "+value); } System.out.println("traverseByValue: end"); }
按照Entry:
//按照Entry public static void traverseByEntry(Map<Integer,String> map) { System.out.println("traverseByEntry: "); Set<Map.Entry<Integer, String>> entrySet = map.entrySet(); for(Map.Entry<Integer, String> entry: entrySet) { System.out.println(entry.getKey()+": "+entry.getValue()); } System.out.println("traverseByEntry: end"); }
相关文章推荐
- Java 实现 文件目录 遍历 - Java 学习笔记 (22)
- Java_WEB开发_struts2学习的总结_Iterate标签遍历
- Java_WEB开发_struts2学习的总结_Iterate标签遍历
- Java学习之容器上(Collection接口常用方法,Iterator接口,使用foreach循环遍历Collection集合元素,Set集合通用知识(Hashset类,hashcode()与LinkedHashSet类))
- [bxd学习java基本点]14 map没有迭代器,其遍历有二法keySet,entrySet是存键值对
- 【Java 学习笔记】 遍历(ArrayList E.g.)
- NO4.java学习笔记(数组、数组的操作【遍历、排序、查找】)
- 【JAVA学习】java中怎么遍历HashMap(Iterator迭代器遍历)
- 【JAVA学习】Java中迭代器Iterator遍历的两种用法
- java学习笔记_Enumeration遍历
- Java反射学习(利用反射遍历链表并执行所有对象的所有get方法)
- 黑马程序员-JAVA学习之文件夹的复制和遍历所有文件
- JAVA基础学习之final关键字、遍历集合、日期类对象的使用、Math类对象的使用、Runtime类对象的使用、时间对象Date(两个日期相减)(5)
- JAVA学习--集合的遍历
- JAVA学习--集合的遍历
- java学习之文件IO流,File类使用及目录遍历
- Java I/O 学习笔记(1) 文件遍历
- Android(java)学习笔记104:Map集合的遍历之键找值
- Android(java)学习笔记105:Map集合的遍历之键值对对象找键和值
- Java学习笔记(八):Map<stirng,string>的遍历的四种方法