本文目录一览:
- 1、java遍历Map的几种方法分析
- 2、java中map的常用遍历方法有哪些?
- 3、java 怎么样获取Map中第几个键值对
- 4、如何在java中取map中的键值?有哪两种方法?
- 5、如何在java中取map中的键值 的两种方法
- 6、java遍历map几种简单方法
java遍历Map的几种方法分析
1.先初始化一个map
public class TestMap {
public static MapInteger, Integer map = new HashMapInteger, 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.EntryInteger, 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() {
IteratorMap.EntryInteger, Integer it = map.entrySet().iterator();
while (it.hasNext()) {
Map.EntryInteger, 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 怎么样获取Map中第几个键值对
public static void main(String[] args) {
MapString, String map = new HashMapString, String();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
SetString keySet = map.keySet();
int i = map.size()-1;
MapInteger, String mapKey = new HashMapInteger, String();
MapInteger, String mapValue = new HashMapInteger, String();
for(java.util.Map.EntryString, String entry : map.entrySet()) {
//将原来MAP的VALUE放入新的MAP的VALUE里面
mapKey.put(i, entry.getValue());
//将原来MAP的KEY放入新的MAP的VALUE 里面
mapValue.put(i, entry.getKey());
i--;
}
//打印KEY值
System.out.println(mapKey.get(2));
//打印VALUE值
System.out.println(mapValue.get(0));
}
扩展资料:
java键值对的使用
Map集合没有继承Collection接口,但是其提供了key到value的映射。每一个key不能有相同,每个key只能映射一个value值。
下面通过一个程序来说明键值对的使用,下面是一个基本的键值对应用程序:
package Test;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class KeyValue {
public static void main(String[] args) {
Map String,String map=new HashMap();
map.put("01", "张三");
map.put("02", "王五");
SetString set=map.keySet();
Iterator String it=set.iterator();
System.out.println("key中集合元素:");
while(it.hasNext()){
System.out.println(it.next());
}
Collection String coll=map.values();
it=coll.iterator();
System.out.println("value中集合元素:");
while(it.hasNext()){
System.out.println(it.next());
}
}
}
输出结果如图所示:
如何在java中取map中的键值?有哪两种方法?
Map map = new HashMap();\x0d\x0a map.put("1", "value1");\x0d\x0a map.put("2", "value2");\x0d\x0a map.put("3", "value3");\x0d\x0a \x0d\x0a //第一种:普遍使用,二次取值\x0d\x0a System.out.println("通过Map.keySet遍历key和value:");\x0d\x0a for (String key : map.keySet()) {\x0d\x0a System.out.println("key= "+ key + " and value= " + map.get(key));\x0d\x0a }\x0d\x0a \x0d\x0a //第二种\x0d\x0a System.out.println("通过Map.entrySet使用iterator遍历key和value:");\x0d\x0a Iterator it = map.entrySet().iterator();\x0d\x0a while (it.hasNext()) {\x0d\x0a Map.Entry entry = it.next();\x0d\x0a System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());\x0d\x0a }\x0d\x0a \x0d\x0a //第三种:推荐,尤其是容量大时\x0d\x0a System.out.println("通过Map.entrySet遍历key和value");\x0d\x0a for (Map.Entry entry : map.entrySet()) {\x0d\x0a System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());\x0d\x0a }\x0d\x0a\x0d\x0a //第四种\x0d\x0a System.out.println("通过Map.values()遍历所有的value,但不能遍历key");\x0d\x0a for (String v : map.values()) {\x0d\x0a System.out.println("value= " + v);\x0d\x0a }\x0d\x0a }
如何在java中取map中的键值 的两种方法
MapString, String map = new HashMapString, String();
map.put("1", "value1");
map.put("2", "value2");
map.put("3", "value3");
//第一种:普遍使用,二次取值
System.out.println("通过Map.keySet遍历key和value:");
for (String key : map.keySet()) {
System.out.println("key= "+ key + " and value= " + map.get(key));
}
//第二种
System.out.println("通过Map.entrySet使用iterator遍历key和value:");
IteratorMap.EntryString, String it = map.entrySet().iterator();
while (it.hasNext()) {
Map.EntryString, String entry = it.next();
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
//第三种:推荐,尤其是容量大时
System.out.println("通过Map.entrySet遍历key和value");
for (Map.EntryString, String entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
//第四种
System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
for (String v : map.values()) {
System.out.println("value= " + v);
}
}
java遍历map几种简单方法
代码如下:
import java.util.HashMap;
import java.util.Map;
public class App {
public static void main(String[] args) {
MapString, Object map = new HashMap();
map.put("Name", "Barry");
map.put("Gender", "Male");
map.put("Age", 25);
// 第一种遍历方式
for (Map.EntryString, Object entry : map.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}
// 第二种遍历方式
map.forEach((key, value) - {
System.out.println(key + " = " + value);
});
// 通过遍历 key,然后再获取 value
for (String key : map.keySet()) {
System.out.println(key + " = " + map.get(key));
}
// 单独遍历 values
for (Object value : map.values()) {
System.out.println(value);
}
}
}