MAP
MAP集合:该集合存储键值时,一对一往里面存。而且要保证键的唯一性。
功能:
1、添加
put(k key ,V value) put方法会返回这个建对应的原来的值,头一次是空 ··· 添加时出现相同的键,后键会覆盖前键的值
putAll(Map<? extends K, ? extend V>m)
2、删除
3、判断
containsKey(Object key)
containsValue(Object value)
isEmpty()
4、获取
get(Object key)
size()
values()
entrySet()
keySet()
import java.util.*; public class Practice_1 { public static void main(String[] args) { // TODO Auto-generated method stub Map<String ,String> map = new HashMap<String,String>(); map.put("java01","zhangsan1"); map.put("java02","zhangsan2"); map.put("java03","zhangsan3"); sop(map.keySet()); Set<String> keySet = map.keySet(); //keySet 取出所有的键, 在迭代所有的键 去取出所有的值 。 keySet取出的为单列集合,返回值为Set Iterator<String> it = keySet.iterator(); //Map集合取出原理就是用 Set 集合,进一步用迭代器 while(it.hasNext()) { String key = it.next(); sop("key:"+key+" V:"+map.get(key)); } } public static void sop(Object obj) { System.out.println(obj); } }
Map
|----Hashtable :底层是哈希表数据结构,不可以出 现null作为键/值的情况。该集合是线程同步的 jdk 1.0
|----HashMap :底层是哈希表的数据结构,允许使用空,是不同步的 jdk 1.2 效率高
|----TreeMap :底层是二叉树数据结构,线程不同步。可以用于给Map集合中的键进行排序。 和Set很像 ,其实Set底层就是使用了Map集合。
Map集合的两种取出方式:
1, Set< k > KeySet:将map中所有的键存到set集合当中,因为set具备迭代器,所以可以用迭代方式取出所有的键,再用所有的键 由get方法取到所有的值
2, Set<Map.Entry<k,v>> entrySet: 将map集合中的映射关系存入到Set集合中,而这个关系的数据类型就是 :Map.Entry< k , v>
作者:张小龙 一个不安定的程序猿