Map接口与方法
value時可重復的,但無序的,用Collection來簡稱。?
Entry: 鍵值對 對象。
????? ? 在Map類設計是,提供了一個嵌套接口(static修飾的接口):Entry。Entry將鍵值對的對應關系封裝成了對象,即鍵值對對象,這樣我們在遍歷Map集合時,就可以從每一個鍵值對(Entry)對象中獲取對應的鍵與對應的值。
HashMap的實現原理 JDK7中
在JDK8中:?
Map接口的方法:
package MapInterface;import org.junit.Test;import java.util.*;/* map接口中的常用方法*/ public class MapMethod {@Testpublic void test1(){Map map = new HashMap();map.put("aa",123);map.put("bb",456);map.put("cc",789);map.put("dd",101112);System.out.println(map);Map map1 = new HashMap();// 修改map1.put("cc",123);map1.put("dd",123);map.putAll(map1);System.out.println(map);// remove(Object key)Object value = map.remove("cc");System.out.println(value);System.out.println(map);// clear()清空map中的數據,與map=null 不同map.clear();System.out.println(map);} // 元素查詢@Testpublic void test2(){Map map = new HashMap();map.put("aa",123);map.put(123,"aa");map.put("bb",456); // get(key)System.out.println(map.get(123)); // containisKey(key)boolean isExist = map.containsKey("bb");System.out.println(isExist); // containisValue(value)isExist = map.containsValue(123);System.out.println(isExist);Map map1 = new HashMap();map1.put(123,"aa");map1.put("aa",123);map1.put("bb",456);System.out.println(map.equals(map1));}@Testpublic void test3(){Map map = new HashMap();map.put(123,1);map.put(012,2);map.put(456,4);System.out.println(map);}@Test // keySet:遍歷key、value、key-value集合。public void test4(){Map map = new HashMap();map.put(123,1);map.put(012,2);map.put(456,4);// 遍歷keySet set = map.keySet();Iterator iterator = set.iterator();while (iterator.hasNext()){System.out.println(iterator.next());}// 遍歷valueCollection values = map.values();for (Object obj : values){System.out.println(obj);}// 方式1:Set keyValue = map.entrySet();Iterator iterator1 = keyValue.iterator();while (iterator1.hasNext()) { // Object key = iterator1.next(); // Map.Entry entry = (Map.Entry)key; // System.out.println(entry.getKey()+"===="+entry.getValue());System.out.println(iterator1.next());}// 方式2:Set keySet = map.keySet();Iterator iterator2 = keySet.iterator();;while(iterator2.hasNext()){Object key = iterator2.next();Object value = map.get(key);System.out.println(key+"===="+value);}}}總結
- 上一篇: 细等线体cass_CAD中,刚打开一个文
- 下一篇: 克拉默法则(Cramer's Rule)