直接上代码
* Map集合无序不可重复,但是Map集合有三个子类,实现了集合,Map集合都是键值对的方法实现的集合,同时支持泛型
* 分别是
* HashTable:是线程安全的,少用,底层是哈希表
* HasgMap:是非线程安全的,常用,底层是哈希表
* TreeMap:实现了SortedMap接口,虽然无序不可重复,但是Key部分会按照从小到大依次排序
*
*
* Map集合常用的方法:
* void clear(); 清空集合所有的数据,清空所有的键值对
* boolean containsKey();判断集合是否包含某一个key值
* boolean containsValue();判断是佛包含某个value
* V get(object key); 通过key值来获取相应的value
* boolean isEmpty();判断Map集合是否为空
* Set<k> keySet();获取集合所有的key,返回值类型是一个Set类型的集合
* Collection <V> values();获取集合所有的value,返回值类型是一个Collection类型的集合
* Set<Map.Entry<K,V>> entrySet();返回值类型是Map.Entry<K,V> 支持泛型,是一个键值对是一个元素的Set集合,获取这个之后一般用
* V put(K key , V value);往集合里面放键值对
* V remove(Object key); 通过相应的key删除对应的键值对
* int size();返回集合的大小
*
*
*
*/
public class MapTest {
public static void main(String[] args){
Map<Integer,String> map =new HashMap<>();
map.put(1,"张三");
map.put(2,"李四");
map.put(3,"王五");
map.put(4,"赵六");
System.out.println(map.get(3));
System.out.println(map.remove(3));
System.out.println(map.size());
Set <Integer>set =map.keySet();
Iterator<Integer> integerIterator=set.iterator();
while (integerIterator.hasNext()) {
System.out.println(map.get(integerIterator.next()));
}
for (Integer integer : set) {
System.out.println(integer);
}
Collection<String> collection = map.values();
for (String s : collection) {
System.out.println(s);
}
Iterator<String > stringIterator =collection.iterator();
while (stringIterator.hasNext()) {
System.out.println(stringIterator.next());
}
Set<Map.Entry<Integer,String >> entrySet =map.entrySet();
Iterator<Map.Entry<Integer,String >> iterator=entrySet.iterator();
Iterator<Map.Entry<Integer,String >> iterator1=entrySet.iterator();
while (iterator.hasNext()) {
Map.Entry<Integer ,String > entry =iterator.next();
System.out.println(entry.getKey());
System.out.println("__________________");
System.out.println(entry.getValue());
}
while (iterator1.hasNext()) {
System.out.println(iterator1.next());
}
}
}