新手村了解Map和HashMap

Map集合 以key和value对储存数据,两个都是存储Java对象地址,包括HashMap(底层)是哈希表数据结构,非线程安全,和hashtable 哈希表结构,线程安全,还有SortedMap(大小顺序排序)接口TreemAP是二叉树结构

import java.util.HashSet;
import java.util.Set;
//
public class MapTest {
    //Map的数据存储结构双键值<key , value>
    //静态内部类
    private static class InnerClass{
        public static void m1(){
            System.out.println("");
        }
        public void  m2(){//实例方法
            System.out.println("2");
        }
    }
    public static void main(String[] args) {
         MapTest.InnerClass.m1();
         //创建静态内部类对象
         MapTest.InnerClass m3 =new MapTest.InnerClass();
         m3.m2(); //引用方法
//Set集合
        Set<MapTest.InnerClass> set = new HashSet<>();//这个set对象是MapTest.InnerClass
        Set<String> set2 = new HashSet<>();//这个Set是字符串
        Set<MyMap.MyEntry<Integer,String>> set3 = new HashSet<>();
    }
    class MyMap{
        public  class MyEntry<k,v>{

        }
    }
}
//HashSet的一些方法和遍历

 

import java.util.*;

public class MapTest02 {
    public static void main(String[] args) {
        Map<Integer,String> map = new HashMap<>();//创建Map集合对象
        map.put(1,"lushuai");//添加对象,1数字进行了自动装箱
        map.put(2,"lu2");
        map.put(3,"lu3");
        map.put(4,"lu4");
        map.put(5,"lu5");
        //通过key获取value
        //String value = map.get(1);
        //System.out.println(value);
        //获取键值对数量
        System.out.println(map.size());
        map.remove(2);//通过key 删除value
        System.out.println(map.size());
        //contains 判断包含value 或者 key
         //遍历map第一种方式
        //用key,获取所有key ,所有key是一个set集合
        Set<Integer> keys = map.keySet();
       //迭代key
       Iterator<Integer> it = keys.iterator();
      while(it.hasNext()){//循环判断是否还有key
            Integer key = it.next();//key赋值
            String value = map.get(key);
           System.out.println(key + value);
            //第二种方式将map集合全部转化为set集合
            Set<Map.Entry<Integer,String>> set4 = map.entrySet();
            Iterator<Map.Entry<Integer,String>> it2 = set4.iterator();

            while(it2.hasNext()){
                Map.Entry<Integer,String> node = it2.next();
                Integer key1 = node.getKey();
                String value1 = node.getValue();
                System.out.println(key1 +","+ value1);
            }

        }

        Collection<String> values= map.values();
        //清空Map    map.clear();

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值