Map collection is a collection we often use. It is necessary to understand and use map collection
Basic form: public interface Map
Map is an interface. We cannot create objects directly. We can create objects in polymorphic form. There are two
parameters in Map, one is K representing the key. , one is V representing a value, and a key has and corresponds to a value. The Map cannot contain repeated
keys. If there are repeated keys added, the last key will prevail, and the other The key will be overwritten. The collections are all under the
java.util package, so the package needs to be imported.
There are generally two commonly used implementations, one is HashMap and the other is TreeMap
import java.util.HashMap; import java.util.Map; public class MapTest { public static void main(String[] args) { Map<String,String> map=new HashMap<>(); map.put("2001", "张三"); map.put("2002", "张三"); map.put("2003", "李四"); map.put("2003", "王五");//键重复,会覆盖上一个,留下最新的 System.out.println(map);//{2003=王五, 2002=张三, 2001=张三} } }
It can be seen from the above that the keys in the map cannot be repeated, but the values can be repeated. Obtaining the contents of the
collection directly through the output object indicates that the toString method has been overridden in this collection.
These functions are common, just master them
import java.util.HashMap; import java.util.Map; public class MapTest { public static void main(String[] args) { //创建Map集合对象 Map<String,String> map=new HashMap<>(); //增加元素 map.put("2001", "张三"); map.put("2002", "李四"); map.put("2003", "王五"); System.out.println(map);//{2003=王五, 2002=李四, 2001=张三} //根据键删除元素 // map.remove("2001"); //System.out.println(map);//{2003=王五, 2002=李四} //判断集合中是否包含指定的键返回boolean类型 System.out.println(map.containsKey("2001"));//true System.out.println(map.containsKey("2004"));//false //判断集合中是否包含指定的值返回boolean类型 System.out.println(map.containsValue("张三"));//true System.out.println(map.containsValue("赵六"));//false //判断集合是否为空返回boolean类型 System.out.println(map.isEmpty());//false //得到集合的长度 System.out.println(map.size());//3 //清除所有键值对 map.clear(); System.out.println(map.isEmpty());//true,为空了 } }
#This method is mostly used when traversing collections. The first three are more commonly used and easier to remember.
import java.util.HashMap; import java.util.Map; import java.util.Set; public class Maptest2 { public static void main(String[] args) { Map<String, String> map = new HashMap<>(); map.put("2001", "张三"); map.put("2002", "李四"); map.put("2003", "王五"); //遍历集合 //方式1: // 由键找值,创建键的集合 Set<String> keySet=map.keySet(); //遍历键的集合,得到每一个键 for (String key:keySet){ //由键找值 String value=map.get(key); //输出键和值 System.out.print(key+" "+value+", "); } System.out.println("\n------------"); //方式2: //获取所有键值对的集合 Set<Map.Entry<String,String>> entrySet =map.entrySet(); //遍历键值对集合 for (Map.Entry<String,String> me:entrySet){ //分别得到键和值 String key=me.getKey(); String value=me.getValue(); System.out.print(key+" "+value+", "); } } }
As shown:
The above is the detailed content of Java Map collection example analysis. For more information, please follow other related articles on the PHP Chinese website!