java.util.Map<K, V>接口
双列集合,key不可以重复Map方法:
1、public V put(K key, V value):键值对添加到map,如果key不重复返回V是null,否则用新value替换旧value,返回旧value2、public V get(Object Key):根据指定的键返回对应的值,没有就返回null3、public V remove(Object key):根据指定的键,移除对应的键值对,返回被移除键值对的值4、public boolean containsKey(Object key):含有指定键就返回true,否则返回false5、public boolean containsValue(Object value):含有指定的值就返回true,否则返回false6、public SetkeySet():把map所有的key取出存储到一个set里7、public Set > entrySet():返回映射中包含的映射关系的set视图
Map遍历:
//public SetkeySet():把map所有的key取出存储到一个set里public class Demo01Map { public static void main(String[] args) { //show01(); Map map = new HashMap<>(); map.put("zhuobo", 12); map.put("dd", 13); map.put("fjl", 14); map.put("ddda", 23); Set set = map.keySet(); for(String s:set) { System.out.println(s + " = " + map.get(s)); } System.out.println("====================="); Iterator it = set.iterator(); while(it.hasNext()) { String s = it.next(); System.out.println(s + " = " + map.get(s)); } }
Entry接口:当Map集合一旦创建,那么就会在Map集合中创建一个Entry对象,用来记录键值对(键与值的映射关系)
Entry对象有两个方法:getKe()和getValue() 通过Entry对象遍历mapSet> entrySet = map.entrySet();// 把所有的Entry对象存储到一个集合里,并返回 Iterator > it = entrySet.iterator(); while(it.hasNext()) { Map.Entry entry = it.next(); System.out.println(entry.getKey() + " = " + entry.getValue()); }
实现类:
1、java.util.HashMap<K, V>集合 implements Map<K, V>接口 底层是哈希表(单向链表+红黑树),查询速度快,无序集合。 java.util.LinkedHashMap<K, V>集合 extends HashMap<K, V>集合 特点:底层是哈希表+链表,保证迭代的顺序,有序集合,存储的顺序和取出的顺序一致