1. java中Map类有什么作用,具体怎么用呢
map是以键值对来存储数据的,例如:
Map map = new HashMap();
map.put("移动","10086");
String c = map.get("移动");
结果c="10086”;
简单来说,map就像我们手机的电话本,用map.put("移动","10086"),就是在电话本保存了移动的电话,然后当你想拿移动的电话时候就用String c = map.get("移动");就可以拿到电话号码了。其实学习结合生活实际比较容易理解,也学得快。
2. java中的map函数怎么用
map不是函数,是一个对象
可以
Map
map
=
new
HashMap();创建
Map就是键值对,
map.put("1","123");
map.put("2","234");
map.get("1")//123
map.get("2")//234
3. java map 的用法
map是个接口
用都是用HasMap等实现Map接口的类
创建:Map<String,String> map = new HashMap<String,String>();
插入元素:map.put("1","a");
移除元素: map.remove("1");
清空: map.clear();
具体参照java API
java.uitl.HashMap
4. 工作中你是如何用Java 遍历 Map的呢
在java中遍历Map有不少的方法。我们看一下最常用的方法及其优缺点。
既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等)
方法一、 在for-each循环中使用entries来遍历
这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。
作为方法一的替代,这个代码看上去更加干净;但实际上它相当慢且无效率。因为从键取值是耗时的操作(与方法一相比,在不同的Map实现中该方法慢了20%~200%)。如果你安装了FindBugs,它会做出检查并警告你关于哪些是低效率的遍历。所以尽量避免使用。
总结
如果仅需要键(keys)或值(values)使用方法二。如果你使用的语言版本低于java 5,或是打算在遍历时删除entries,必须使用方法三。否则使用方法一(键值都要)。
5. java Map 怎么遍历
关于java中遍历map具体有四种方式,请看下文详解。
1、这是最常见的并且在大多数情况下也是最可取的遍历方式,在键值都需要时使用。
Map<Integer, Integer> map = newHashMap<Integer, Integer>();
for(Map.Entry<Integer, Integer> entry : map.entrySet()) {
System.out.println("Key = "+ entry.getKey() + ", Value = "+ entry.getValue());
}
2、在for-each循环中遍历keys或values。
如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet。
Map<Integer, Integer> map = newHashMap<Integer, Integer>();
for(Integer key : map.keySet()) {
System.out.println("Key = "+ key);
}
for(Integer value : map.values()) {
System.out.println("Value = "+ value);
}
该方法比entrySet遍历在性能上稍好(快了10%),而且代码更加干净。
3、使用Iterator遍历
使用泛型:
Map<Integer, Integer> map = newHashMap<Integer, Integer>();
Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator();
while(entries.hasNext()) {
Map.Entry<Integer, Integer> entry = entries.next();
System.out.println("Key = "+ entry.getKey() + ", Value = "+ entry.getValue());
}
不使用泛型:
Map map = newHashMap();
Iterator entries = map.entrySet().iterator();
while(entries.hasNext()) {
Map.Entry entry = (Map.Entry) entries.next();
Integer key = (Integer)entry.getKey();
Integer value = (Integer)entry.getValue();
System.out.println("Key = "+ key + ", Value = "+ value);
}
4、通过键找值遍历(效率低)
Map<Integer, Integer> map = newHashMap<Integer, Integer>();
for(Integer key : map.keySet()) {
Integer value = map.get(key);
System.out.println("Key = "+ key + ", Value = "+ value);
}
假设Map中的键值对为1=>11,2=>22,3=>33,现用方法1来遍历Map代码和调试结果如下:
(5)map使用方法java扩展阅读:
1、HashMap的重要参数
HashMap 的实例有两个参数影响其性能:初始容量 和加载因子。容量是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。
加载因子 是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行 rehash 操作(即重建内部数据结构),从而哈希表将具有大约两倍的桶数。
在Java编程语言中,加载因子默认值为0.75,默认哈希表元为101。
2、HashMap的同步机制
注意,此实现不是同步的。 如果多个线程同时访问一个哈希映射,而其中至少一个线程从结构上修改了该映射,则它必须保持外部同步。
(结构上的修改是指添加或删除一个或多个映射关系的任何操作;以防止对映射进行意外的异步访问,如下:
Map m = Collections.synchronizedMap(new HashMap(...));
6. java中如何使用map存取数据
java中使用map存取数据的方法如下:
1、需要指定其中的K,V;k=keyv=value。
7. java中map的常用遍历方法有哪些
ava中map的常用遍历的具体方法有:
一 、在for-each循环中使用entries来遍历。这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。
二、 在for-each循环中遍历keys或values。如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet。
三、使用Iterator遍历。
四、通过键找值遍历(效率低)。
总结:如果仅需要键(keys)或值(values)使用方法二。如果你使用的语言版本低于java 5,或是打算在遍历时删除entries,必须使用方法三。否则使用方法一(键值都要)。
8. java教程之Map应该怎么用
Map集合:
确保唯一性依赖于hashCode()和equals方法
HashSet底层依赖于HashMap,TreeSet底层依赖于TreeMap
Map集合石双列的,Collection是单列的
Map的键唯一,Collection的子体系Set是唯一的
Map集合的数据结构值针对键有效,跟值无关,Collection集合的数据结构是针对元素有效
添加:V put(K key,V value);
如果键是第一次储存就直接存,返回null,如果不是,就用值把以前覆盖并返回旧值
删除:void clear();清空
V remove(Object key);根据键删除键值对元素,返回值
判断:
boolean containsKey(0bject key) 判断集合是否包含指定的键
boolean containsValue(Object value)判断集合是否包含指定的值
boolean isEmpty() 判断集合是否为空
获取:
V get(Object key) 根据键获取值
Set<K> keySet() 获取集合中所有键的集合
Collection<V> values() 获取集合中所有值的集合
长度:
int size() 返回集合中的键值对数
遍历:
1.
Set<> keySet = hm.keySet();
hm.get(key);
2.
Set<Map.Entry<,>> = hm.entrySet();
Map.Entry<,>.getKey()
Map.Entry<,>.getValue()
TreeMap对键进行比较
9. java 中Map用法
第一种是先把map的所有key看成Set,然后遍历出每个key,根据key获取value.
第二种是先把map看成一个Map.Entry的Set,那么每个Map.Entry就是一个键--值对,遍历这个Set,就遍历出了一个个的Map.Entry,这个对象包含了键值对,直接从中获取key和value就ok.