La collection de cartes est une collection que nous utilisons souvent. Il est nécessaire de comprendre et d'utiliser la collection de cartes
Forme de base : interface publique Map
La carte est une interface, Nous, les objets ne pouvons pas être créés directement. Les objets peuvent être créés sous forme polymorphe. Il y a deux paramètres
dans Map, l'un est K représentant la clé, et l'autre est V représentant la valeur, et une clé a et correspond à une valeur. La carte ne peut pas contenir de doublons.
Clés, si des clés en double sont ajoutées, la dernière clé sera utilisée comme critère et les autres clés seront écrasées. Les collections sont toutes sous le package
java.util, le package doit donc être importé.
Il existe généralement deux implémentations spécifiques couramment utilisées, l'une est HashMap et l'autre est 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=张三} } }
On peut voir de ce qui précède que les clés de la carte ne peuvent pas être répétées, mais les valeurspeuvent être répétées et peut être obtenu directement via l'objet de sortie
Le contenu de la collection indique que la méthode toString a été remplacée dans cette collection.
Ces fonctions sont courantes, il suffit de les maîtriser
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,为空了 } }
Cette méthode est principalement utilisée lors de la traversée. une collection, les trois premiers sont plus couramment utilisés et plus faciles à retenir.
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+", "); } } }
Comme le montre l'image :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!