开发中最常用的就是List集合和Map集合,Map集合是基于java核心类——java.util中的;Map集合用于储存元素对,Map储存的是一对键值(key和value),是通过key映射到它的value;下面简单介绍Map集合经常用到的的一些方法以及代码示例。
1、map.size():获取map中键值的个数
public class Demo_java_Map {
public static void main(String[] args) {
Map<Object, Object> map = new HashMap<>();
map.put("1", "java");
map.put("2", "python");
map.put("3", "php");
int size = map.size();
System.out.println("map中的键值个数为:"+size);//打印map中的键值个数
}
}
输出结果为:map中的键值个数为:3
2、map.keySet():打印map所有的key键
public class Demo_java_Map {
public static void main(String[] args) {
Map<Object, Object> map = new HashMap<>();
map.put("1", "java");
map.put("2", "python");
map.put("3", "php");
Set<Object> set = map.keySet();
System.out.println(set);//打印map所有的key键
}
}
输出结果为:[1, 2, 3]
3、map.values():打印map中所有的values值
public class Demo_java_Map {
public static void main(String[] args) {
Map<Object, Object> map = new HashMap<>();
map.put("1", "java");
map.put("2", "python");
map.put("3", "php");
Collection<Object> collection = map.values();
System.out.println(collection);//打印map中所有的values值
}
}
输出结果为:[java, python, php]
4、map.get(Object key):打印键对应的值,这里有一点需要注意的是如果map.get(1)不用双引号包裹的话会打印空值,所以一定要与设置的一致
public class Demo_java_Map {
public static void main(String[] args) {
Map<Object, Object> map = new HashMap<>();
map.put("1", "java");
map.put("2", "python");
map.put("3", "php");
Object object = map.get("1");
System.out.println("key对应的values值为:"+object);//打印1对应的值
}
}
输出结果为:key对应的values值为:java
5、map.remove(Object key):移除键和对应的values值
public class Demo_java_Map {
public static void main(String[] args) {
Map<Object, Object> map = new HashMap<>();
map.put("1", "java");
map.put("2", "python");
map.put("3", "php");
map.remove("1");
System.out.println(map);//移除1和对应的values值
}
}
输出结果为:{2=python, 3=php}
6、map.clear():清除所有的键值,此时输出为空
public class Demo_java_Map {
public static void main(String[] args) {
Map<Object, Object> map = new HashMap<>();
map.put("1", "java");
map.put("2", "python");
map.put("3", "php");
map.clear();
System.out.println(map);//清除所有的键值,此时输出为空
}
}
输出结果为:{}
7、Entry是Map集合中的一个内部接口,用于封装Map集合中的一组键值(key和value),这里说明一下:jdk1.5的新特性静态导入的导包方式写法为Entry,下面是迭代打印的代码
public class Demo_java_Map {
public static void main(String[] args) {
Entry<?, ?> entry;
Map<String, String> map = new HashMap<String, String>();
map.put("1","java");
map.put("2","python");
map.put("3","php");
Set<?> set = map.entrySet();//获取map的键值
Iterator<?> iterator = set.iterator();//得到集合的迭代器
while (iterator.hasNext()){//遍历迭代器
entry=(Entry<?, ?>) iterator.next();//遍历出的键值放进entry集合里
String key = (String) entry.getKey();//得到entry的key
String value = (String) entry.getValue();//得到entry的value
System.out.println("得到的key为"+key);//输出key
System.out.println("得到的value为"+value);//输出value
}
}
}
输出结果为:
得到的key为1
得到的value为java
得到的key为2
得到的value为python
得到的key为3
得到的value为php
8、整合map.putAll()
public class Demo_java_Map {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("1", "System.out.println()");
map.put("2", "print()");
map.put("3", "echo()");
int size = map.size();
System.out.println("map的个数为:"+size);
Map<String, String> map2 = new HashMap<>();
map2.put("4", "printf()");
map2.put("5", "consle.log()");
map2.put("6", "cout");
int size2 = map2.size();
System.out.println("map2的个数为:"+size2);
map.putAll(map2);
System.out.println("map整合map2之后的个数为:"+map.size());
}
}
输出结果为:
map的个数为:3
map2的个数为:3
map整合map2之后的个数为:6
正在尝试写博客,把会的分享给你们,如有写的不好的地方,希望指点一下,谢谢!