Map的三种遍历方式

对于Map的三种方式遍历 1.keySet() 2.values() 3.entrySet()
三种方式得到Set之后,都可以使用 foreach或者iterator, 不能使用for,因为数据结构决定的

package com.fync.jsj.mapTemplate;
import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 import org.junit.Before;
 import org.junit.Test;

public class MapCycle {
           Map<Integer, String> map;
           // 准备好数据
           @Before
           public void testData() {
           map = new HashMap<>();
           map.put(1, "张三");
           map.put(2, "李四");
           map.put(3, "王五");
           map.put(4, "麻子");
           map.put(5, "陈六");
           }
      /** 测试三种方式,这三种方式最后都是遍历Set,于是都可以使用
       * foreach或者Iterator       **/
             // 方式1: keySet()方法获取到Set(key)
             @Test
             public void testFirst() {
             Set<Integer> set = map.keySet();
             for (Integer integer : set) {
             System. out.println( map.get(integer));
                }
             }
              // 方式2:values()方法获取到Collection(value)
              @Test
              public void testSecond() {
              Collection<String> collection = map.values();
              for (String string : collection) {
              System. out.println(string);
                }
              }
              // 方式3:entrySet()方法获取到Set<Entry<key,value>>
              @Test
               public void testThird() {
               Set<Entry<Integer, String>> entries = map.entrySet();
               for (Entry<Integer, String> entry : entries) {
               System. out.println(entry.getValue());
                        }
                    }
               }
时间: 2024-10-10 06:47:24

Map的三种遍历方式的相关文章

set的三种遍历方式-----不能用for循环遍历(无序)

set的三种遍历方式,set遍历元素 list 遍历元素 http://blog.csdn.net/sunrainamazing/article/details/71577662 set遍历元素 http://blog.csdn.net/sunrainamazing/article/details/71577893 map遍历元素 http://blog.csdn.net/sunrainamazing/article/details/71580051 package sun.rain.amazi

Java中Map的三种遍历方法

Map的三种遍历方法: 1. 使用keySet遍历,while循环: 2. 使用entrySet遍历,while循环: 3. 使用for循环遍历. 告诉您们一个小秘密: (下↓面是测试代码,最爱看代码了,啰嗦再多也没用) 一般人我不告诉他哦. import java.util.*; //0 我的Main界面 public class MapTraverse { public static void main(String[] args) { String[] str = {"I love you

重温数据结构:二叉树的常见方法及三种遍历方式 Java 实现

读完本文你将了解到: 什么是二叉树 Binary Tree 两种特殊的二叉树 满二叉树 完全二叉树 满二叉树 和 完全二叉树 的对比图 二叉树的实现 用 递归节点实现法左右链表示法 表示一个二叉树节点 用 数组下标表示法 表示一个节点 二叉树的主要方法 二叉树的创建 二叉树的添加元素 二叉树的删除元素 二叉树的清空 获得二叉树的高度 获得二叉树的节点数 获得某个节点的父亲节点 二叉树的遍历 先序遍历 中序遍历 后序遍历 遍历小结 总结 树的分类有很多种,但基本都是 二叉树 的衍生,今天来学习下二

树的高度,深度,层数和三种遍历方式

树的高度: 当只有一个根节点的时候,高度就是0. //计算树的高度int depth(Node node){ if(node == NULL) return -1; int l = depth(node->left); int r = depth(node->right); return (l < r)?(r+1):(l+1);//当只有一个根节点的时候,高度就是-1+1=0} 层数: 树的高度最底下的为第1层(有的书定义为第0层),依次向上累加 树的深度: 完全二叉树是指这样的二叉树:

二叉树的三种遍历方式的循环和递归的实现方式

///////////////////头文件:BST.h//////////////////////// #ifndef BST_H #define BST_H #include "StdAfx.h" #include<iostream> #include<stack> template<typename DataType> class BST { public: class Node { public: Node(int data=0):m_dat

map的三种遍历方法!

map的三种遍历方法! 集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~ /* * To change this template, choose Tools | Templates * and open the template in the editor. */package cn.tsp2c.liubao; import java.util.Collection;import java.util.HashMap;import java.util.Iterator

十八 二分搜索树的三种遍历方式

三种遍历方式: package com.lt.datastructure.BST; public class BST<E extends Comparable<E>> { private class Node{ public E e; Node left,right; public Node(E e) { this.e = e; this.left = left; this.right = right; } } private Node root; private int size

for 、foreach 、iterator 三种遍历方式的比较

习惯用法 for.foreach循环.iterator迭代器都是我们常用的一种遍历方式,你可以用它来遍历任何东西:包括数组.集合等 for 惯用法: List<String> list = new ArrayList<String>(); String[] arr = new String[]{"1,2,3,4"}; for(int i = 0;i < arr.length;i++){ System.out.println(arr[i]); } for(i

java中ArrayList集合的三种遍历方式

public class ListDemo { public static void main(String[] args) { ArrayList<String> mList = new ArrayList<>(); mList.add("郭靖"); mList.add("黄蓉"); mList.add("洪七公"); mList.add("周伯通"); // 第一种遍历方式:普通for循环 for