四时宝库

程序员的知识宝库

Map 集合遍历的5种方法,收藏备用



Map 集合初始化时,指定集合初始值大小。

说明:HashMap 使用 HashMap(int initialCapacity) 初始化。

正例:initialCapacity = (需要存储的元素个数 / 负载因子) + 1。注意负载因子(即 loaderfactor)默认为 0.75,如果暂时无法确定初始值大小,请设置为 16(即默认值)。

反例:HashMap 需要放置 1024 个元素,由于没有设置容量初始大小,随着元素不断增加,容量 7 次被迫扩大,resize 需要重建 hash 表,严重影响性能。

public class ForeachMap {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("李白", "青莲居士");
        map.put("杜甫", "少陵野老");
        map.put("白居易", "香山居士");

        //第一种:普遍使用,二次取值
        System.out.println("通过Map.keySet遍历key和value");
        for (String key : map.keySet()) {
            System.out.println("key= "+ key + " and value= " + map.get(key));
        }

        //第二种:使用iterator
        System.out.println("通过Map.entrySet使用iterator遍历key和value");
        Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
        while (it.hasNext()) {
            Map.Entry<String, String> entry = it.next();
            System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
        }

        //第三种:推荐,尤其是容量大时
        System.out.println("通过Map.entrySet遍历key和value");
        for (Map.Entry<String, String> entry : map.entrySet()) {
            System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
        }

        //第四种:Map.values()
        System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
        for (String v : map.values()) {
            System.out.println("value= " + v);
        }
        //第五种:map.forEach
        System.out.println("map.forEach JDK1.8 新特性");
        map.forEach((key, value) -> {
            System.out.println("key=" + key + ",value=" + value);
        });

    }

运行结果:
通过Map.keySet遍历key和value
key= 李白 and value= 青莲居士
key= 杜甫 and value= 少陵野老
key= 白居易 and value= 香山居士
通过Map.entrySet使用iterator遍历key和value
key= 李白 and value= 青莲居士
key= 杜甫 and value= 少陵野老
key= 白居易 and value= 香山居士
通过Map.entrySet遍历key和value
key= 李白 and value= 青莲居士
key= 杜甫 and value= 少陵野老
key= 白居易 and value= 香山居士
通过Map.values()遍历所有的value,但不能遍历key
value= 青莲居士
value= 少陵野老
value= 香山居士
map.forEach JDK1.8 新特性
key=李白,value=青莲居士
key=杜甫,value=少陵野老
key=白居易,value=香山居士


Java中Map的几种遍历方式(java遍历map的key和value)

Java中遍历map主要有以下几种方法:

1.使用entrySet,也是最常见的使用办法,在键和键值都需要的时候最常用(推荐,尤其是容量大时):

Map<Integer, Integer> map = new HashMap<Integer, Integer>(); 
for (Map.Entry<Integer, Integer> entry : map.entrySet()) { 
 System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); 
}

Swift 学习笔记二(Set篇)(swift入门教程)

1.1 Set 的概念

计算机程序员的入门实践-Map常用的遍历方式(七)

1、使用for循环遍历map;

2、使用迭代器遍历map;

3、使用keySet迭代遍历map;

4、使用entrySet遍历map。

创建一个Map集合

Java中的List你真的会用吗?不会用的话请收藏我的这篇文章

List是Java中比较常用的集合类,关于List接口有很多实现类,本文就来简单介绍下其中几个重点的实现ArrayList、LinkedList和Vector之间的关系和区别。

List

List 是一个接口,它继承于Collection的接口。它代表着有序的队列。当我们讨论List的时候,一般都和Set作比较。

List中元素可以重复,并且是有序的(这里的有序指的是按照放入的顺序进行存储。如按照顺序把1,2,3存入List,那么,从List中遍历出来的顺序也是1,2,3)。Set中的元素不可以重复,并且是无序的(从set中遍历出来的数据和放入顺序没有关系)。

一文了解 JavaScript 中的 Set(集合)- 多种去重技巧

上期讨论了 Set 的基本知识,一文了解 JavaScript 中的 Set(集合)文末提到使用 Set 进行数组去重。

通常去重的例子都是简单数组,存储的都是基本类型,例如 ——

Java遍历Map集合有哪几种方式?各自效率怎么样?我来写代码亲测

1、由来

我们应该在什么时刻选择什么样的遍历方式呢,必须通过实践的比较才能看到效率,也看了很多文章,大家建议使用entrySet,认为entrySet对于大数据量的查找来说,速度更快,今天我们就通过下面采用不同方法遍历key+value,key,value不同情景下的差异。

Java集合Set 集合、List和Collections类

一、前言

在 Java 集合(一) 中我们已经讲了 Collection 集合接口Iterator 迭代器泛型,今天我们来讲 Set 集合List 集合Collections 工具类

Map的几种遍历方式(map遍历及性能)

第一种方式使用keyset来遍历


//第一种方式使用keyset来遍历

public static void keySet(Map<String,Object> map) {

C# 能否让 SortedSet.RemoveWhere 内传入的委托异步执行

在C#中,SortedSet<T> 类型并没有内置的 RemoveWhere 方法。通常,SortedSet<T> 提供了基于排序的集合操作,比如 Remove 和 Clear 等。不过,你可以通过遍历集合并使用 Remove 方法来模拟 RemoveWhere 的行为。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接