Java集合框架部分体系结构(补充)

Java集合框架部分体系结构(补充)

Map类接口:

Map集合的特点:
1、Map集合是一个双列集合,包含key和value两个值。
2、在Map集合中,key和value的数据类型可以相同,也可以不同。
3、在Map集合中,key是不可重复的,value是可重复的。
4、在Map集合中,键与值一一对应(即key和value一一对应)。

Map的常用方法:
在这里插入图片描述
Map的增删改查:

增:put();
删:remove();
改:put();
查:get();

public class TestMap {
    public static void main(String[] args) {
        HashMap map = new HashMap();
        map.put("CN", "中华人民共和国");
        map.put("UK", "大不列颠联合王国");
        map.put("US", "美利坚合众国");//增
        System.out.println(map.get("CN"));//查
        map.remove("US");
        System.out.println(map.get("US"));
        map.remove("CN", "ABC");//删
        System.out.println(map.get("CN"));
        map.containsKey("key");
        map.containsValue("key");
        map.put("CN", "中国");//改
        System.out.println(map.get("CN"));
        map.replace("CN", "中华人民共和国");

Map的三种遍历方式:

        //遍历的方式
        Set entry = map.entrySet();
        for (Object o : entry) {
            System.out.println(o);
        }
        //遍历key的方式
        Set keys = map.keySet();
        Iterator itr=keys.iterator();
        while(itr.hasNext()){
            System.out.println(itr.next());
        }
        //遍历value的方式
        Collection values = map.values();
        for (Object value : values) {
            System.out.println(value);
        }

泛型

定义:将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性

练习:根据学员英文名找到学员对象
需求:
学员应聘至外企工作,每个学员都会有一个英文名称,对应该学员对象。请实现通过英文名称,获得该学员对象的详细信息,学员属性包括姓名以及性别,通过泛型解决该问题。
在这里插入图片描述

public class Student {
    private String name;
    private String sex;

    public Student() {
    }

    public Student(String name, String sex) {
        this.name = name;
        this.sex = sex;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

public class Test {
    public static void main(String[] args) {
        HashMap<String,Student> map=new HashMap();
        Student stu=new Student("李翔","男");
        map.put("Jack",stu);
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入英文名:");
        String name=sc.next();
        Student student=map.get(name);
        System.out.println(name+"是学员"+stu.getName()+",性别是:"+stu.getSex());

    }
}

Collections的用法

Collections类定义了一系列用于操作集合的静态方法

Collection框架图:
在这里插入图片描述
Collections和Collection的区别:
Collections和Collection不同,前者是集合的操作类,后者是集合接口

Collections提供的常用静态方法:
sort():排序
binarySearch():查找
max()\min():查找最大\最小值

public class TestCollection {
    public static void main(String[] args) {
        List list=new ArrayList();
        list.add("abc");
        list.add(123);
        list.add("hello");
        list.add(3.1415926);
        Collections.sort(list, new Comparator<Object>() {
            @Override
            public int compare(Object o1, Object o2) {
                return -1;
            }
        });
        System.out.println(list);

Collections排序
1、Collections类可以对集合进行排序、查找和替换操作
2、实现一个类的对象之间比较大小,该类要实现Comparable接口,即使用重写compareTo()方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值