Map接口,Collections类,泛型

Map接口

Map接口概述

Map接口存储一组成对的键–值对象,提供key到value的映射,通过key来检索。key不要求有序,不允许重复。value不要求有序,但允许重复。
Map接口常用方法在这里插入图片描述

使用HashMap存储数据

最常用的Map实现类时HashMap。

public static void main(String[] args) {
        HashMap map=new HashMap();
        map.put("china","中国");
        map.put("uk","英国");
        map.put("us","美国");//增/改
        map.put("fu","英国");
        System.out.println(map.get("china"));//查
        map.remove("us");//删除
        System.out.println(map.get("us"));

Collections类

Collections类是Java提供的一个集合操作工具类,含有大量的静态方法。

对集合元素排序查找

compareTo()方法被称为它的自然比较方法。

public int compareTo(Object obj){
    Student student=(Student)obj;
    if(this.number==student.number){
        return 0;
    }else if(this.number>student.getNumber()){
        return 1;
    }else {
        return -1;
    }
}

泛型

泛型的本质是参数化类型,也就是所操作的数据类型被指定位一个参数,使代码可以应用于多种类型。

泛型的定义

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

public static void main(String[] args) {
        ArrayList<String> list=new ArrayList();
        list.add("fsa");
        for (String s : list) {
            Iterator<String> itr=list.iterator();
            while (itr.hasNext()){
                System.out.println(itr.next()+"avad");
            }
        }

泛型在集合中的应用

使用泛型集合在创建集合对象时指定集合中元素的类型,从集合中取出元素时无需进行强制类型转换,并且如果把非指定类型对象放入集合,会出现编译错误。

HashMap<String,Entry> map=new HashMap<>();
        map.put(" ",new Entry());
        Set entrys =map.entrySet();
        Set <Map.Entry<String,Entry>>entries=map.entrySet();
        Set<String>key=map.keySet();
        Collection<Entry>values=map.values();

深入泛型

泛型的本质就是参数化类型,参数化类型的重要性在于允许创建一些类,接口和方法,其所操作的数据类型被定义为参数,可以在真正使用时指定具体的类型。
参数化类型:参数化类型包含一个类或者接口,以及实际的类型参数列表。
类型变量:是一种非限定性标识符,用来指定类,接口或者方法。

定义泛型,泛型接口和泛型方法

1.泛型类
泛型类就是具有一个或者多个类型参数的类。
定义泛型类的语法如下
访问修饰符 class className
TypeList表示类型参数列表
创建泛型类实例的语法
new className(argList);
2.泛型接口
泛型接口就是拥有一个或多个类型参数的接口。
定义泛型接口的语法
访问修饰符 interface interfaceName
泛型类实现泛型接口的语法
访问修饰符 class classNameimplements interfaceName
3.泛型方法
泛型方法就是有类型参数的方法。定义泛型方法与方法所在的类或者接口是否是泛型或者泛型接口没有联系。
定义泛型方法的语法
访问修饰符 <类型参数>返回值 方法名(类型参数列表)
例如
public void showName(String s){}

多个参数的泛型类

上面的示例中,泛型类的类型参数都只有一个,实际上类型参数可以有多个,如HashMap<K,V>就有两个类型参数,一个指定key的类型,一个指定value的类型。

猜你喜欢

转载自blog.csdn.net/weixin_49143795/article/details/107672476