java map的两种遍历方式

1.1.  通过key得到value


//得到所有的key值

Set<String> keySet = map.keySet();

//根据key值得到value值

for (String key : keySet) {

System.out.println(key+":"+map.get(key));

}

1.2.  通过entry得到key和value


//得到所有的entry

Set<Entry<String, String>> entrySet =
map.entrySet();

//从entry中得到key和value值

for (Entry<String, String> entry : entrySet) {

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

}

1.3.  完整示例代码


MapTest.java

package map;

import java.util.HashMap;

import java.util.Map;

import java.util.Map.Entry;

import java.util.Set;

import org.junit.BeforeClass;

import org.junit.Test;

publicclass MapTest {

   private Map map;

   @BeforeClass

   publicvoid init(){

      map = new HashMap<String, String>();

      map.put("1", "Morris");

      map.put("2", "Jack");

      map.put("3", "Bob");

      map.put("4", "Tom");

   }

   @Test

   publicvoid traversal1(){

      //得到所有的key值

      Set<String> keySet = map.keySet();

      //根据key值得到value值

      for (String key : keySet) {

        System.out.println(key+":"+map.get(key));

      }

   }

   @Test

   publicvoid traversal2(){

      //得到所有的entry

      Set<Entry<String, String>> entrySet = map.entrySet();

      //从entry中得到key和value值

      for (Entry<String, String> entry : entrySet) {

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

      }

   }

}
时间: 2024-10-07 22:01:35

java map的两种遍历方式的相关文章

Map的两种遍历方式

********************************************************************************* *****************************Map两种遍历方式******************************* ********************************************************************************* 1 package ccms;

Map迭代器两种遍历方式

/* map接口中没有迭代器,那么该怎么遍历? 1:Set<K> keySet() :获取到所有的键,存储到一个Set集合中,并返回该集合,因为Set有迭代器, 每次迭代出来的是一个键,再根据键来得到值 2:Set<Map.Entry<K,V>> entrySet():获取到所有的键值对儿形成的映射关系,存到一个Set集合中,再迭代这个集合 每次迭代出来的是一个映射关系,从这个映射关系中既可以得到键,也可以得到值 这种映射关系是Map.Entry<K,V>类

细说java中Map的两种迭代方式

以前对java中迭代方式总是迷迷糊糊的,今天总算弄懂了,特意的总结了一下,基本是算是理解透彻了. 1.再说Map之前先说下Iterator: Iterator主要用于遍历(即迭代访问)Collection集合中的元素,Iterator也称为迭代器.它仅仅只有三个方法:hasNext(),next()和remove() hasNext():如果仍有元素可以迭代,则返回 true.(换句话说,如果 next 返回了元素而不是 抛出异常,则返回 true). next():返回迭代的下一个元素. re

List集合中两种遍历方式

遍历List集合中的元素的方法有两种: 第一种:利用迭代器遍历 代码1: // 迭代器 Iterator it=list.iterator(); while(it.hasNext()) { System.out.println(it.next()); } 或者代码2: for(Iterator it=list.iterator();it.hasNext();) { System.out.println(it.next()); }// 与while循环相比优点:对象it在循环结束后,变为垃圾,自动

Map集合的两种遍历方式

Map集合:即 接口Map<K,V> map集合的两种取出方式:    1.Set<k> keyset: 将map中所有的键存入到set集合(即将所有的key值存入到set中), 因为Set具备迭代器,可以进行迭代遍历. 所有可以迭代方式取出所有的链,再根据get方法.获取每一个键对应的值. Map 集合的取出原理: 将map集合转成set集合. 再通过迭代器取出    2. set<Map.Entry<k,v>>  entrySet: 将map集合中的映射

Java多线程的两种实现方式:继承Thread类 &amp; 实现Runable接口

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! 创建和启动线程的两种传统方式: Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象.每个Thread对象描述了一个单独的线程.要产生一个线程,有两种方法: ◆需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法: ◆实现Runnalbe接口,重载Runnalbe接口中的run()方法.

Map两种遍历方式与TreeSet两种排序依据

集合:可以存储不同类型的多个对象,随着存储对象的个数的增加而自动扩大容量   体系结构: Collection<E>   |----List:存入的对象是有序的,且可以重复           ArrayList:底层使用的数据结构是数组,线程不安全的,查找速度快,增删速度慢           Vector:底层使用的数据结构是数组,线程安全的,查找速度快,增删速度慢           LinkedList:底层使用的数据结构是链表,线程不安全的,查找速度慢,增删速度快     |----

Java之List和Map的几种遍历方式

/** * list和map遍历 */ import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; public class list_map遍历{ public static void main(String[] args) { List<String> list=new ArrayList<St

HashMap的两种遍历方式

HashMap存储的是键值对:key-value . java将HashMap的键值对作为一个整体对象(java.util.Map.Entry)进行处理,这优化了HashMap的遍历处理. 第一种:(只遍历一次,将key及value都放到entry中,效率高) Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { java.util.Map.Entry entry