java---map接口

本文探讨了Java Map接口的基础概念,如唯一有序的键值对存储、put和get方法的应用,以及泛型在List、Set和Map中的使用。通过HashMap和TreeMap的实例演示,展示了如何添加、遍历和删除键值对,并强调了泛型约束在操作特定对象类型时的重要性。
摘要由CSDN通过智能技术生成

Map接口:

接口存储的对象唯一 有序(根据key和value)

存储一组键值对象 提供key和walue的映射(key和value唯一)
查找/添加 根据key进行操作

实现类:HashMap TreeMap

 public class MapTest {
    public static void main(String[] args) {
        /*
          map集和有序 唯一
         */
        Map map=new HashMap();
        //map添加数据:put(key,value) key,value都是object类型
        //list和set添加数据:add()
        map.put("CN","CHINA");
        map.put("US","USA");
        map.put(1,"UK");
        //遍历map集和
        //1.遍历所有的key---->key集和
        Set set=map.keySet();//找到所有的key 返回的是一个set集和
        for(Object object:set){
            System.out.print(object+" ");//CN US 1 乱序的
        }
        System.out.println();
        //2.所有的value集和---->value集和
        Collection collection=map.values();//返回的是所有的值
        for (Object object:collection){
            System.out.print(object+" ");//CHINA USA UK 乱序的
        }
        System.out.println();
        /*Set set1=(Set)map.values();//返回的是所有的值
        for(Object object:set1){
            System.out.println(object);//CN US 1 乱序的
        }*/
       //删除元素 根据key删除对应的value值
        map.remove(1);
       //查找指定的值 list:get()   set:没有get()方法
        //map:  get(key)
       Object object=map.get("CN");
        System.out.println(object);//CHINA
    }
}

泛型约束

list接口为例: 需求:集合当中添加一些数据 遍历集合 打印对象属性的值
       //泛型约束 操作的数据只能是Student对象类型
        List<Student> list=new ArrayList<Student>();
        Student student=new Student();
        student.sex= Genders.female;
        list.add(student);
        Student student2=new Student();
        student2.sex= Genders.male;
        list.add(student2);
       for(Student stu:list){
           System.out.print(stu.sex+" ");
       }
        System.out.println();
       //set泛型约束
        Set<String> set1=new HashSet();
        set1.add("abc");
        set1.add("abcd");
        //添加整数  Set<Integer> set1=new HashSet();
        //set1.add(1); 报错 类型不一致
        for(String str:set1){
            System.out.print(str+" ");
        }
//迭代器遍历
  Iterator<String> iterator=set1.iterator();
        while(iterator.hasNext()){
           String str= iterator.next();
            System.out.println(str);
        }
        //Map泛型约束
        Map<String,String> map1=new HashMap();
        map1.put("CN","CHINA");
        //map泛型约束 key和value的值可以不一样
        Map<Integer,String> map2=new HashMap();
        map2.put(1,"USA");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李自桐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值