精华内容
下载资源
问答
  • 2022-04-03 21:00:05

    方法一:在for循环中遍历value

            Map<String, String> map = new HashMap();
            map.put("开发", "开发");
            map.put("测试", "测试");
            for (Object value : map.values()) {
                System.out.println("第一种:" + value);
            }
    

    方法二::通过key遍历

            for (String key: map.keySet()) {
                System.out.println("第二种:" + map.get(key));
            }
    

    方法三::通过entrySet实现遍历

    		Set<Map.Entry<String, String>> entrySet = map.entrySet();
            for (Map.Entry entry : entrySet) {
                System.out.println("第三种:" + entry.getKey() + " :" + entry.getValue());
            }
    

    方法四::通过Iterator迭代器实现遍历

            Iterator<Map.Entry<String, String>> entryIterator = map.entrySet().iterator();
            while (entryIterator.hasNext()) {
                Map.Entry<String, String> entry = entryIterator.next();
                System.out.println("第四种:" + entry.getKey() + " :" + entry.getValue());
            }
    

    方法五 :通过lambda表达式进行遍历

            map.forEach((key, value) -> {
                System.out.println("第五种:" + key + " :" + value);
            });
    
    更多相关内容
  • 本代码简单实现,遍历某个目录下的所有文件,并列出文件路径
  • import java.util.*; public class test { public static void main(String[] args) { List<String> list=new ArrayList<String>();... list.add("Hello");... //第一种遍历方法使用 For-Ea.
    import java.util.*;
    
    public class test {
        public static void main(String[] args) {
            List<String> list=new ArrayList<String>();
            list.add("Hello");
            list.add("World");
            list.add("Java");
            //第一种遍历方法使用 For-Each 遍历 List
            for (String str : list) {            //也可以改写 for(int i=0;i<list.size();i++) 这种形式
                System.out.println(str);
            }
            System.out.println("--------------------------");
            //第二种遍历,把链表变为数组相关的内容进行遍历
            String[] strArray=new String[list.size()];
            list.toArray(strArray);
            for(int i=0;i<strArray.length;i++) //这里也可以改写为  for(String str:strArray) 这种形式
            {
                System.out.println(strArray[i]);
            }
    
            System.out.println("--------------------------");
            //第三种遍历 使用迭代器进行相关遍历
    
            Iterator<String> ite=list.iterator();
            while(ite.hasNext())//判断下一个元素之后有值
            {
                System.out.println(ite.next());
            }
        }
    }

    注:三种方法都是用来遍历ArrayList集合,第三种方法是采用迭代器的方法,该方法可以不用担心在遍历的过程中会超出集合的长度。

    Iterator:迭代器,集合的专用遍历方式

    1. Iterator<E>iterator():返回此集合中元素的迭代器,通过集合的iterator()方法得到
    2. 迭代器是通过集合的iterator()方法得到的,所以说它是依赖于集合而存在的

    Iterator中的常用方法

    1. E next():返回迭代中的下一个元素
    2. Boolean hasNext():如果迭代具有更多元素,则返回true

    展开全文
  • 主要介绍了Java中遍历ConcurrentHashMap的四种方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • Java中遍历Map集合的五种方式

    万次阅读 多人点赞 2021-01-28 23:26:04
    包含for循环遍历、entrySet使用iterator遍历,并且介绍了Java8新特性使用lambda表达式forEach遍历

    写在前面: 我是「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。

    这博客是对自己学习的一点点总结及记录,如果您对 Java算法 感兴趣,可以关注我的动态,我们一起学习。

    用知识改变命运,让我们的家人过上更好的生活

    方式一 通过Map.keySet使用iterator遍历

    @Test
    public void testHashMap1() {
        Map<Integer, String> map = new HashMap<>();
        map.put(001, "Java");
        map.put(002, "数据库");
        map.put(003, "Vue");
        System.out.println(map);
    
        // 通过Map.keySet使用iterator遍历key,然后通过key得到对应的value值
        Iterator<Integer> iterator = map.keySet().iterator();
        while (iterator.hasNext()) {
            Integer key = iterator.next();
            String value = map.get(key);
            System.out.println("key = " + key + ", value = " + value);
        }
    }
    

    结果:

    {1=Java, 2=数据库, 3=Vue}
    key = 1, value = Java
    key = 2, value = 数据库
    key = 3, value = Vue
    

    方式二 通过Map.entrySet使用iterator遍历

    @Test
    public void testHashMap2() {
        Map<Integer, String> map = new HashMap<>();
        map.put(001, "Java");
        map.put(002, "数据库");
        map.put(003, "Vue");
        System.out.println(map);
    
        // 通过Map.entrySet使用iterator遍历key和value;注意 Set entrySet():返回所有key-value对构成的Set集合
        Iterator<Map.Entry<Integer, String>> entries = map.entrySet().iterator();
        while (entries.hasNext()) {
            Map.Entry<Integer, String> entry = entries.next();
            System.out.println(entry);
        }
    }
    

    结果:

    {1=Java, 2=数据库, 3=Vue}
    1=Java
    2=数据库
    3=Vue
    

    方式三 通过Map.keySet遍历

    @Test
    public void testHashMap3() {
        Map<Integer, String> map = new HashMap<>();
        map.put(001, "Java");
        map.put(002, "数据库");
        map.put(003, "Vue");
        System.out.println(map);
    
        // 通过Map.keySet遍历key,然后通过key得到对应的value值
        for (Integer key : map.keySet()) {
            System.out.println("key = " + key + ", value = " + map.get(key));
        }
    }
    

    结果:

    {1=Java, 2=数据库, 3=Vue}
    key = 1, value = Java
    key = 2, value = 数据库
    key = 3, value = Vue
    

    方式四 通过For-Each迭代entries,使用Map.entrySet遍历

    @Test
    public void testHashMap4() {
        Map<Integer, String> map = new HashMap<>();
        map.put(001, "Java");
        map.put(002, "数据库");
        map.put(003, "Vue");
        System.out.println(map);
    
        // 使用For-Each迭代entries,通过Map.entrySet遍历key和value
        for (Map.Entry<Integer, String> entry : map.entrySet()) {
            System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
        }
    }
    
    {1=Java, 2=数据库, 3=Vue}
    key = 1, value = Java
    key = 2, value = 数据库
    key = 3, value = Vue
    

    方式五 使用lambda表达式forEach遍历

    @Test
    public void testHashMap5() {
        Map<Integer, String> map = new HashMap<>();
        map.put(001, "Java");
        map.put(002, "数据库");
        map.put(003, "Vue");
        System.out.println(map);
    
    	// 使用lambda表达式forEach遍历
        map.forEach((k, v) -> System.out.println("key = " + k + ", value = " + v));
    }
    

    forEach 源码

    default void forEach(BiConsumer<? super K, ? super V> action) {
            Objects.requireNonNull(action);
            for (Map.Entry<K, V> entry : entrySet()) {
                K k;
                V v;
                try {
                    k = entry.getKey();
                    v = entry.getValue();
                } catch(IllegalStateException ise) {
                    // this usually means the entry is no longer in the map.
                    throw new ConcurrentModificationException(ise);
                }
                action.accept(k, v);
            }
        }
    

    从源码可以看到,这种新特性就是在传统的迭代方式上加了一层壳,但是让代码变得更加简单。(开发中推荐使用

    总结

    推荐使用 entrySet 遍历 Map 类集合 KV (文章中的第四种方式),而不是 keySet 方式进行遍历。

    keySet 其实是遍历了 2 次,第一次是转为 Iterator 对象,第二次是从 hashMap 中取出 key 所对应的 value值。而 entrySet 只是遍历了一次,就把 key 和 value 都放到了 entry 中,效率更高。

    values()返回的是 V 值集合,是一个 list 集合对象;keySet()返回的是 K 值集合,是一个 Set 集合对象;entrySet()返回的是 K-V 值组合集合。

    如果是 JDK8,推荐使用Map.forEach 方法(文章中的第五种方式)。


    由于水平有限,本博客难免有不足,恳请各位大佬不吝赐教!

    展开全文
  • Java中遍历Map集合的5种方式总结

    千次阅读 2021-06-03 16:03:13
    这篇文章主要给大家介绍了关于Java中遍历Map集合的5种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 方式一 通过Map.keySet使用...

    这篇文章主要给大家介绍了关于Java中遍历Map集合的5种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    方式一 通过Map.keySet使用iterator遍历

    @Test
    public void testHashMap1() {
     Map<Integer, String> map = new HashMap<>();
     map.put(001, "Java");
     map.put(002, "数据库");
     map.put(003, "Vue");
     System.out.println(map);
     
     // 通过Map.keySet使用iterator遍历key,然后通过key得到对应的value值
     Iterator<Integer> iterator = map.keySet().iterator();
     while (iterator.hasNext()) {
     Integer key = iterator.next();
     String value = map.get(key);
     System.out.println("key = " + key + ", value = " + value);
     }
    }
    

    结果:

    {1=Java, 2=数据库, 3=Vue}
    key = 1, value = Java
    key = 2, value = 数据库
    key = 3, value = Vue
    

    方式二 通过Map.entrySet使用iterator遍历

    @Test
    public void testHashMap2() {
     Map<Integer, String> map = new HashMap<>();
     map.put(001, "Java");
     map.put(002, "数据库");
     map.put(003, "Vue");
     System.out.println(map);
     
     // 通过Map.entrySet使用iterator遍历key和value;注意 Set entrySet():返回所有key-value对构成的Set集合
     Iterator<Map.Entry<Integer, String>> entries = map.entrySet().iterator();
     while (entries.hasNext()) {
     Map.Entry<Integer, String> entry = entries.next();
     System.out.println(entry);
     }
    }
    

    结果:

    {1=Java, 2=数据库, 3=Vue}
    1=Java
    2=数据库
    3=Vue
    

    方式三 通过Map.keySet遍历

    @Test
    public void testHashMap3() {
     Map<Integer, String> map = new HashMap<>();
     map.put(001, "Java");
     map.put(002, "数据库");
     map.put(003, "Vue");
     System.out.println(map);
     
     // 通过Map.keySet遍历key,然后通过key得到对应的value值
     for (Integer key : map.keySet()) {
     System.out.println("key = " + key + ", value = " + map.get(key));
     }
    }
    

    结果:

    {1=Java, 2=数据库, 3=Vue}
    key = 1, value = Java
    key = 2, value = 数据库
    key `= 3, value = Vue
    

    方式四 通过For-Each迭代entries,使用Map.entrySet遍历

    @Test
    public void testHashMap4() {
     Map<Integer, String> map = new HashMap<>();
     map.put(001, "Java");
     map.put(002, "数据库");
     map.put(003, "Vue");
     System.out.println(map);
     
     // 使用For-Each迭代entries,通过Map.entrySet遍历key和value
     for (Map.Entry<Integer, String> entry : map.entrySet()) {
     System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
     }
    }
    
    {1=Java, 2=数据库, 3=Vue}
    key = 1, value = Java
    key = 2, value = 数据库
    key = 3, value = Vue
    

    方式五 使用lambda表达式forEach遍历

    @Test
    public void testHashMap5() {
     Map<Integer, String> map = new HashMap<>();
     map.put(001, "Java");
     map.put(002, "数据库");
     map.put(003, "Vue");
     System.out.println(map);
     
        // 使用lambda表达式forEach遍历
     map.forEach((k, v) -> System.out.println("key = " + k + ", value = " + v));
    }
    

    forEach 源码

    default void forEach(BiConsumer<? super K, ? super V> action) {
     Objects.requireNonNull(action);
     for (Map.Entry<K, V> entry : entrySet()) {
      K k;
      V v;
      try {
      k = entry.getKey();
      v = entry.getValue();
      } catch(IllegalStateException ise) {
      // this usually means the entry is no longer in the map.
      throw new ConcurrentModificationException(ise);
      }
      action.accept(k, v);
     }
     }
    

    从源码可以看到,这种新特性就是在传统的迭代方式上加了一层壳,但是让代码变得更加简单。(开发中推荐使用)

    总结

    推荐使用 entrySet 遍历 Map 类集合 KV (文章中的第四种方式),而不是 keySet 方式进行遍历。

    keySet 其实是遍历了 2 次,第一次是转为 Iterator 对象,第二次是从 hashMap 中取出 key 所对应的 value值。而 entrySet 只是遍历了一次,就把 key 和 value 都放到了 entry 中,效率更高。

    values()返回的是 V 值集合,是一个 list 集合对象;keySet()返回的是 K 值集合,是一个 Set 集合对象;entrySet()返回的是 K-V 值组合集合。

    展开全文
  • 下面小编就为大家带来一篇java反射遍历实体类属性和类型,并赋值和获取值的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • java中遍历Map有不少的方法,下面这篇文章主要给大家介绍了关于Java中遍历Map的多种方法,以及各种方法的优缺点总结,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看...
  • Java中遍历Map集合的3种方式

    千次阅读 2021-03-06 10:30:03
    Java中遍历Map集合有以下3种方式 方法一:通过**keySet()**方法遍历map的key,再根据key获得value,最常用的方式。 for (String s : map.keySet()) { String value = map.get(s); System.out.println("key为:" + ...
  • 主要介绍了java 中遍历取值异常(Hashtable Enumerator)解决办法的相关资料,用迭代器取值时抛出的异常:java.util.NoSuchElementException: Hashtable Enumerator ,需要的朋友可以参考下
  • JAVA中遍历字符串字符的三种方法

    万次阅读 多人点赞 2020-04-21 20:05:44
    1).toCharArray() 2).length(), charAt() 3).length(), substring(i ,i+1) public static void main(String[] args) { String str = "keep walking!!!"; //方法一 char[] charArray = str.toCh...
  • 之前给大家介绍了一下java对set对象进行去重的方法,那么下面接着给大家介绍的就是java中遍历set集合方法的内容,一起来了解一下具体方法吧!java中遍历set的三种方式:对set的遍历1.迭代遍历:Setset=newHashSet();...
  • 主要介绍了java中List集合及其遍历详解的相关资料,需要的朋友可以参考下
  • 本篇文章主要分享了java中遍历map的两种方式,代码简洁明了,有需要的朋友可以参考下,希望会有所帮助
  • 主要介绍了java JSONArray 遍历方式(2种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • java中遍历map的几种方法

    千次阅读 2021-02-26 18:26:55
    java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下具体的用法以及各自的优缺点先初始化一个mappublic class TestMap {public static Map map = new HashMap()...
  • arraylist是动态数组,它具有三个好处分别是:动态的增加和减少元素 、实现了ICollection和IList接口、灵活的设置数组的大小,本文给大家介绍java arraylist遍历Java arraylist 用法,感兴趣的朋友一起学习吧
  • 遍历Map集合之前首先先定义一个Map对象:Map map = new LinkedHashMap();map.put("1", "one");map.put("2", "two");map.put("3", "three");map.put("4", "fore");map.put("5", "five");这个地方使用的是...
  • java中 遍历mysql的树形结构
  • Java递归遍历树形结构

    2020-09-02 16:42:25
    主要介绍了Java递归遍历树形结构的相关资料,需要的朋友可以参考下
  • 可以调用枚举 class 的 values() 方法返回数组,然后遍历这个数组:for (EnumClass ...}在 Java 8 之后的版本可以将枚举类型转换为流来进行遍历:Stream.of(EnumClass.values()).forEach(System.out::println);使用 ...
  • 1. 推荐方法: 使用entrySet 遍历Map 类集合KV,而不是keySet 方式进行遍历。... } 输出结果(1000万条数据): 参考: HASHMAP的四种遍历方法,及效率比较(简单明了) Java中遍历ConcurrentHashMap的四种方式
  • java中遍历字符串的三种方法

    万次阅读 多人点赞 2018-12-31 19:45:54
    1).length(), charAt() 2).length(), substring(i ,i+1) 3).toCharArray() String str="2019 come on"; // 方法一 for(int i=0;i &lt; str.length();i++) { System.out.println(str...for(i...
  • Java中遍历文件夹的2种方法

    千次阅读 2021-02-12 12:49:37
    java遍历文件夹的两种办法:A. 不使用递归import java.io.File;import java.util.LinkedList;public class FileSystem {public static void main(String[] args) {long a = System.currentTimeMillis();LinkedList ...
  • JAVA中遍历字符串的两种方法
  • 下面小编就为大家带来一篇java集合遍历的几种方式总结及详细比较。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • java中遍历实体类属性字段及值

    千次阅读 2019-11-19 10:16:32
    https://blog.csdn.net/dongzhouzhou/article/details/8659836 https://blog.csdn.net/bwgang/article/details/8475076
  • Java中遍历HashSet

    2021-03-06 15:06:28
    HashSet扩展AbstractSet并实现Set接口。它创建一个使用哈希表进行存储的...要遍历HashSet,可以在Java中使用Iterator。首先,创建一个具有字符串值的HashSet-HashSethashSet=newHashSet();hashSet.add("Jack");ha...
  • 主要介绍了java中ResultSet遍历数据操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 960,627
精华内容 384,250
关键字:

java中的遍历

java 订阅