Map集合基本特征和常用方法以及遍历方法

直接上代码


 * 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,"赵六");
        //通过相应的key获取value
        System.out.println(map.get(3));
        //删除对应key的键值对
        System.out.println(map.remove(3));//remove返回值类型是value类型,返回了value的值
        //获取集合的大小
        System.out.println(map.size());
        //获取集合所有的key,返回到一个Set类型的集合里面
        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);
            
        }
        //获取结合所有的value返回值类型是一个Collection
        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的集合
        //通过调用这个entrySet方法,把所有的Map集合都转换为一个Set类型的集合,我们给定泛型是Map.Entry<>类型的,通过使用Map.Entry<>类型的迭代器,
        //迭代这个类型的数据,这个Map.Entry类型有value和key 我们使用这个类型的set和get方法得到这个东西,这个方法是最有效率的遍历方法,这总方式适合大的
        //数据量,之前的遍历方法是通过获取到key然后通过key的集合遍历value或者直接获取value然后遍历value
   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());
        }
        //1=张三
        //2=李四
        //4=赵六
        //这个set转换之后的set集合吧Map的Key和value都两者合并成一个元素了


    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值