导航:首页 > 使用方法 > Map常用的方法

Map常用的方法

发布时间:2022-02-05 04:14:17

① java遍历map几种简单方法

代码如下:

importjava.util.HashMap;
importjava.util.Map;

publicclassApp{

publicstaticvoidmain(String[]args){

Map<String,Object>map=newHashMap<>();

map.put("Name","Barry");
map.put("Gender","Male");
map.put("Age",25);


//第一种遍历方式

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

//第二种遍历方式

map.forEach((key,value)->{
System.out.println(key+"="+value);
});


//通过遍历key,然后再获取value

for(Stringkey:map.keySet()){
System.out.println(key+"="+map.get(key));
}

//单独遍历values

for(Objectvalue:map.values()){
System.out.println(value);
}
}
}

② java中map有哪几种实现方式,并且比较异同

Map是一种把键对象和值对象进行关联的容器,而一个值对象又可以是一个Map,依次类推,这样就可形成一个多级映射。对于键对象来说,像Set 一样,一个Map容器中的键对象不允许重复,这是为了保持查找结果的一致性;如果有两个键对象一样,那你想得到那个键对象所对应的值对象时就有问题了,可 能你得到的并不是你想的那个值对象,结果会造成混乱,所以键的唯一性很重要,也是符合集合的性质的。当然在使用过程中,某个键所对应的值对象可能会发生变 化,这时会按照最后一次修改的值对象与键对应。对于值对象则没有唯一性的要求。你可以将任意多个键都映射到一个值对象上,这不会发生任何问题(不过对你的 使用却可能会造成不便,你不知道你得到的到底是那一个键所对应的值对象)。
Map有两种比较常用的实现:HashMap和TreeMap,WeakMap。HashMap 也用到了哈希码的算法,以便快速查找一个键,TreeMap则是对键按序存放,因此它便有一些扩展的方法,比如firstKey(),lastKey() 等,你还可以从TreeMap中指定一个范围以取得其子Map。键和值的关联很简单,用pub(Object key,Object value)方法即可将一个键与一个值对象相关联。用get(Object key)可得到与此key对象所对应的值对象,WeakMap这个用于内存自动释放的。

③ JAVA循环遍历Map的几种方法

第一种用for循环

Java代码
for(Map.Entry<String, String> entry:map.entrySet()){
System.out.println(entry.getKey()+"--->"+entry.getValue());
}

第二种用迭代

Java代码
Set set = map.entrySet();
Iterator i = set.iterator();
while(i.hasNext()){
Map.Entry<String, String> entry1=(Map.Entry<String, String>)i.next();
System.out.println(entry1.getKey()+"=="+entry1.getValue());
}

用keySet()迭代

Java代码
Iterator it=map.keySet().iterator();
while(it.hasNext()){
String key;
String value;
key=it.next().toString();
value=map.get(key);
System.out.println(key+"--"+value);
}

用entrySet()迭代

Java代码
Iterator it=map.entrySet().iterator();
System.out.println( map.entrySet().size());
String key;
String value;
while(it.hasNext()){
Map.Entry entry = (Map.Entry)it.next();
key=entry.getKey().toString();
value=entry.getValue().toString();
System.out.println(key+"===="+value);
}

④ java遍历Map的几种方法分析

1.先初始化一个map
public class TestMap {
public static Map<Integer, Integer> map = new HashMap<Integer, Integer>();
}
2.keySet values
如果只需要map的key或者value,用map的keySet或values方法无疑是最方便的
// KeySet 获取key
public void testKeySet() {
for (Integer key : map.keySet()) {
System.out.println(key);
}
}
// values 获取value
public void testValues() {
for (Integer value : map.values()) {
System.out.println(value);
}
}
3.keySet get(key)
如果需要同时获取key和value,可以先获取key,然后再通过map的get(key)获取value

需要说明的是,该方法不是最优选择,一般不推荐使用

// keySet get(key) 获取key and value
public void testKeySetAndGetKey() {
for (Integer key : map.keySet()) {
System.out.println(key + ":" + map.get(key));
}
}
4.entrySet
通过对map entrySet的遍历,也可以同时拿到key和value,一般情况下,性能上要优于上一种,这一种也是最常用的遍历方法

// entrySet 获取key and value
public void testEntry() {
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue());
}
}
5.Iterator
对于上面的几种foreach都可以用Iterator代替,其实foreach在java5中才被支持,foreach的写法看起来更简洁

但Iterator也有其优势:在用foreach遍历map时,如果改变其大小,会报错,但如果只是删除元素,可以使用Iterator的remove方法删除元素

// Iterator entrySet 获取key and value
public void testIterator() {
Iterator<Map.Entry<Integer, Integer>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Integer, Integer> entry = it.next();
System.out.println(entry.getKey() + ":" + entry.getValue());
// it.remove(); 删除元素
}
}

⑤ java中map的常用遍历方法有哪些

ava中map的常用遍历的具体方法有:

一 、在for-each循环中使用entries来遍历。这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。

二、 在for-each循环中遍历keys或values。如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet。

三、使用Iterator遍历。

四、通过键找值遍历(效率低)。

总结:如果仅需要键(keys)或值(values)使用方法二。如果你使用的语言版本低于java 5,或是打算在遍历时删除entries,必须使用方法三。否则使用方法一(键值都要)。

⑥ java中hashmap有哪些常用方法

Mapmap=newHashMap();map.put("测试",1);map.put("测试2",2);System.out.println(map.get("测试2"));map.put("测试2",3);System.out.println(map.get("测试2"));输出结果是:23

⑦ Map接口都有哪些方法

void clear()
从此映射中移除所有映射关系(可选操作)。
boolean containsKey(Object key)
如果此映射包含指定键的映射关系,则返回 true。
boolean containsValue(Object value)
如果此映射为指定值映射一个或多个键,则返回 true。
Set<Map.Entry<K,V>> entrySet()
返回此映射中包含的映射关系的 set 视图。
boolean equals(Object o)
比较指定的对象与此映射是否相等。
V get(Object key)
返回此映射中映射到指定键的值。
int hashCode()
返回此映射的哈希码值。
boolean isEmpty()
如果此映射未包含键-值映射关系,则返回 true。
Set<K> keySet()
返回此映射中包含的键的 set 视图。
V put(K key, V value)
将指定的值与此映射中的指定键相关联(可选操作)。
void putAll(Map<? extends K,? extends V> t)
从指定映射中将所有映射关系复制到此映射中(可选操作)。
V remove(Object key)
如果存在此键的映射关系,则将其从映射中移除(可选操作)。
int size()
返回此映射中的键-值映射关系数。
Collection<V> values()
返回此映射中包含的值的 collection 视图。

打开API查看就都知道了

⑧ java中几种Map在什么情况下使用

HashMap 散列表 插入和查询的开销是固定的; 可以通过构造方法设置容量和负载因子,调整性能默认选择
LinkedHashMap 链表
取得元素的顺序是其插入次序,或者最近最少使用次序;插入时比HashMap略慢,但迭代时更快
TreeMap 红黑树 总是保证有序; 可以通过subMap()方法返回一个子树
WeakHashMap 弱键映射,允许释放映射所指向的对象
ConcurrentHashMap 线程安全,不涉及同步加锁
IdentityHashMap 用 == 代替 equals() 进行比较; 插入操作不会随着Map尺寸变大而明显变慢

阅读全文

与Map常用的方法相关的资料

热点内容
排烟风口与短管连接方法 浏览:701
姚桐斌研究的方法 浏览:737
引伸计安装方法 浏览:616
吉娃娃手机使用方法 浏览:845
安卓系统通讯录设置在哪里设置方法 浏览:815
怎么备孕最好方法 浏览:812
颈椎病治疗方法用什么中药治 浏览:246
水钻打空调眼儿使用方法视频 浏览:819
口腔颌面肿瘤治疗方法 浏览:959
冲成人奶粉的正确方法 浏览:193
404x125的简便运算方法 浏览:10
水泥多孔砖砌墙方法图片 浏览:705
孢谷草种植方法 浏览:283
莴笋青菜种植方法 浏览:736
前列腺增生怎么治疗方法 浏览:846
12伏蓄电池存电量计算方法 浏览:219
冲压工36技计算方法计算实例 浏览:858
骨化三醇免疫治疗方法 浏览:306
三联疗法如何服用方法 浏览:426
93乘43加91的简便方法 浏览:393