首页 > 编程知识 正文

java初始化map的四种方式,java map初始化并赋值

时间:2023-12-27 22:28:02 阅读:327170 作者:JUUC

本文目录一览:

关于JAVA MAP怎么初始化生成

首先你要理解 Map的基本结构,key-value

这里最外层的Map,key是String类型,value是ArrayList。ArrayList里面放得又是Map,这个Map的key是String,value也是String。

import java.util.ArrayList;

import java.util.HashMap;

import java.util.Map;

public class Test {

    public static void main(String[] args) {

        MapString, ArrayListMapString, String topMap = new HashMap();

        String key1 = "map_key1"; // topMap 的第一个key

        ArrayListMapString, String value1 = new ArrayList(); // topMap 的第一个value

        // start

        MapString, String strMap = new HashMap();

        strMap.put("hello", "你好");

        strMap.put("thanks", "谢谢");

        value1.add(strMap);

        value1.add(new HashMap()); // 添加一个空的 Map

        // end

        topMap.put(key1, value1); // 放入topMap

        // 以上 start 到 end 段的代码是在往value1的ArrayList中填充数据

        // 不填充也可以放入到topMap中,就像下面这样

        topMap.put("emptyList", new ArrayListMapString, String());

        topMap.put("emptyList2", new ArrayList()); // jdk 1.7 及之后推荐这样写,省掉泛型描述。前面的new HashMap()、new ArrayList()也是省掉了

    }

}

java hashmap怎么初始化

HashMap 是一种常用的数据结构,一般用来做数据字典或者 Hash 查找的容器。普通青年一般会这么初始化:

HashMapString, String map = new HashMapString, String();

map.put("name", "test");

map.put("age", "20");

看完这段代码,很多人都会觉得这么写太啰嗦了,文艺青年一般这么来了:

HashMapString, String map = new HashMapString, String() {

{

map.put("name", "test");

map.put("age", "20");

}

};

javamap的用法

javamap的用法如下;

1、void clear():删除Map中所有键值对。

2、boolean containsKey(Object key):查询Map中是否包含指定key,如果包含则返回true。

3、boolean containsValue(Object value):查询Map中是否包含指定value,如果包含则返回true。

4、Set entrySet():返回Map中所包含的键值对所组成的Set集合,每个集合元素都是Map.Entry对象(Entry是Map的内部类)。

5、Object get(Object key):返回指定key所对应的value,如Map中不包含key则返回null。

6、boolean isEmpty():查询Map是否为空,如果空则返回true。

7、Set keySet():返回该Map中所有key所组成的set集合。

8、Object put(Object key,Object value):添加一个键值对,如果已有一个相同的key值则新的键值对覆盖旧的键值对。

9、void putAll(Map m):将指定Map中的键值对复制到Map中。

10、Object remove(Object key):删除指定key所对应的键值对,返回可以所关联的value,如果key不存在,返回null。

11、int size():返回该Map里的键值对的个数。

12、Collection values():返回该Map里所有value组成的Collection。

Map中包含一个内部类:Entry。该类封装了一个键值对,它包含了三个方法:

1、Object getKey():返回该Entry里包含的key值。

2、Object getValeu():返回该Entry里包含的value值。

3、Object setValue(V value):设置该Entry里包含的value值,并返回新设置的value值。

java Map 怎么遍历

java Map 遍历一般有四种方式

方式一: 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。

方式二: 在for-each循环中遍历keys或values。

如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet。

该方法比entrySet遍历在性能上稍好(快了10%),而且代码更加干净。

方式三:使用Iterator遍历

使用泛型:

不使用泛型:

你也可以在keySet和values上应用同样的方法。

方法四:  通过键找值遍历(效率低)

作为方法一的替代,这个代码看上去更加干净;但实际上它相当慢且无效率。

因为从键取值是耗时的操作(与方法一相比,在不同的Map实现中该方法慢了20%~200%)。如果安装了FindBugs,它会做出检查并警告你关于哪些是低效率的遍历。所以尽量避免使用。

总结:

如果仅需要键(keys)或值(values)使用方法二。

如果所使用的语言版本低于java 5,或是打算在遍历时删除entries,必须使用方法三。

否则使用方法一(键值都要)。

扩展资料:

类似的遍历算法:

二叉树的遍历算法

1、先(根)序遍历的递归算法定义:

若二叉树非空,则依次执行如下操作:

⑴ 访问根结点;

⑵ 遍历左子树;

⑶ 遍历右子树。

2、中(根)序遍历的递归算法定义:

若二叉树非空,则依次执行如下操作:

⑴遍历左子树;

⑵访问根结点;

⑶遍历右子树。

3、后(根)序遍历得递归算法定义:

若二叉树非空,则依次执行如下操作:

⑴遍历左子树;

⑵遍历右子树;

⑶访问根结点。

参考资料:百度百科——Java

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。