最近经常碰到Map遍历的问题,在网上查找资料后,记录下,权当备忘~~~~~~

这里给出了三种遍历的方式,注释中已说明各自方式的优点。

package edu.hrbeu.cloud.testIterMap;

import java.util.Collection;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

import java.util.TreeMap;

public class IteratorMap {

static Map map = new TreeMap();

public static void addToMap(String classify, String name, String age, String score) {

if(!map.containsKey(classify))

map.put(classify, new Student());

Student st = new Student();

st = map.get(classify);

st.setName(name);

st.setAge(age);

st.setScore(score);

}

public static void init() {

addToMap("A", "张三", "20", "87");

addToMap("B", "李四", "19", "88");

addToMap("C", "王五", "21", "93");

}

///最常规的一种遍历方法

public static void iterByCollection() {

init();

Collection c = map.values();

Iterator it = c.iterator();

for (; it.hasNext();) {

System.out.println(it.next());

}

}

//利用keyset进行遍历,它的优点在于可以根据你所想要的key值得到你想要的 values

public static void iterByKeySet(){

Set key = map.keySet();

for (Iterator it = key.iterator(); it.hasNext();) {

String s = (String) it.next();

System.out.println(map.get(s));

}

}

//比较复杂的一种遍历,它可以得到任何你想得到的

public static void iterByEntry() {

Set> set = map.entrySet();

for (Iterator> it = set.iterator(); it.hasNext();) {

Map.Entry entry = (Map.Entry) it.next();

System.out.println(entry.getKey() + "--->" + entry.getValue());

}

}

public static void main(String[] args) {

System.out.println("Iterator by Collection");

iterByCollection();

System.out.println("Iterator by KeySet");

iterByKeySet();

System.out.println("Iterator by Entry");

iterByEntry();

}

}

java map string stu_Java Map遍历的三种方式 | 学步园相关推荐

  1. java base64 编码 类_java base64编码和解码的三种方式 | 学步园

    方式一:使用commons-codec.jar /** * @param bytes * @return */ public static byte[] decode(final byte[] byt ...

  2. java中Map遍历的三种方式

    Java中Map遍历的三种方式 前言 一:在for循环中使用entries实现Map的遍历: 二:在for循环中遍历key或者values,一般适用于只需要map中的key或者value时使用,在性能 ...

  3. Map集合遍历的三种方式

    Map集合遍历的三种方式 遍历Map集合的三种方式 键找值 键值对 Lambda表达式 方式一 : 键找值 先获取Map集合的全部键的Set集合 遍历键的Set集合,然后通过键提取对应值 原理图 键找 ...

  4. HashMap遍历的三种方式

    HashMap遍历的三种方式 hashmap常用的三种方式分为 keySet遍历 就是把这个hashmap所有的key都拿出来放到一个set里,然后在通过这个key去通过hashmap的get方法去查 ...

  5. Java:简述对象转换为字符串的三种方式

    Java:简述对象转换为字符串的三种方式 在Java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结. 一.(String)强制类型转换 使用 ...

  6. Map 集合循环、遍历的 四 种方式

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. package cn.jdbc.test; import java.util.HashMap; im ...

  7. java数组初始_java数组初始化的三种方式

    第一种方式:通过给定数组长度来赋值: public static void main(String[] args) { // TODO Auto-generated method stub //第一种 ...

  8. oracle游标遍历的三种方式

    第一种:loop declarecursor c1 isselect sno,cno,grade from sc;v_sno sc.sno%type;v_cno sc.cno%type;v_grade ...

  9. for循环的遍历的三种方式

    List<Teacher> list = new ArrayList<Teacher>(); //list里存的是N个Teacher对象 System.out.println( ...

最新文章

  1. 解决:vs2013 错误 1 error MSB8031: Building an MFC project for a non-Unicode character set is deprecated.
  2. Machine.Config在哪里?
  3. POJ1195Mobile phones
  4. Linux学习:shell 命令(压缩包管理)
  5. 【转】无法登陆SQL server 服务器的解决办法
  6. IO多路复用 select、poll、epoll
  7. HttpURLConnection解析
  8. 12_02_Linux软件管理之二rpm
  9. PHP访问连接MYSQL数据库
  10. 构建现代Web应用时究竟是选择传统web应用还是SPA
  11. Taro+react开发(4)--tora官网2
  12. Gzip,BZip2,Lzo,Snappy比较
  13. 联想拯救者y空间_联想拯救者 R9000X 笔记本 GTX 1650 Ti 配置被砍
  14. 国庆通知:地球不爆炸,CSDN 不放假!
  15. Python使用Reportlab处理PDF数据 - 创建pdf库文件
  16. 【ESP32 Arduino平衡小车制作】(一)霍尔编码器解码
  17. java中vo_java中的vo是什么
  18. 怎样推导圆面积计算公式?
  19. Dubbo之《尚硅谷》学习笔记
  20. dnf一天能获得多少黑暗之眼_DNF洞察之眼每天能打几次?洞察之眼奖励及入场方式一览_52pk...

热门文章

  1. QWidget中加载QML页面并设置透明背景
  2. Linux快捷键及文件和目录的操作
  3. java相对目录_java相对目录和绝对目录解析
  4. 华大 MCU 之五 SPI 从机 DMA 模式 配置(不能正常接收问题处理)
  5. 幂等校验是什么意思_阿里面试官:接口的幂等性怎么设计?
  6. 京东的商品搜索功能是如何实现的_【干货小知识】京东商家如何优化搜索流量?...
  7. UML 类图几种关系的总结
  8. C/Cpp / Cpp 中 struct 和 class 区别
  9. linux切换root密码错,(转)Linux下root密码丢失和运行级别错误的解决办法
  10. 对于根号18 利用计算机,一八年级数学题