19.Map、泛型

一、HashMap

1.简介

特点:

        数据结构基于哈希表

        允许使用null值和null键

        此实现不同步,在多线程中不安全

        默认容量是16

2.Has和Map和HashSet比较

相同点:都是以hash表结构来进行存储

不同点:

HashMap数据结构只针对键

HashSet底层也是使用HashMap来进行存储 只能用于HashMap数据结构

二、LinkedHashMap

简介

和LinkedHashSet类似

Map接口的哈希表和链接列表实现 数据结构 hash表结构和链表进行存储

有序 可预知的迭代顺序

此实现不是同步的 多线程中不安全

三、泛型

1.简介

1.使用场景:不确定数据类型,定义集合时使用泛型

2.在实例化对象时可以确定其数据类型

        List<数据类型> li=new ArrayList<数据类型>();

        jdk1.7之后出现了菱形的泛型 后面的泛型数据类型可以不写

        泛型只能使用引用数据类型

3.好处:

       避免进行强制类型转换

        将运行时错误提前到编译时

4.泛型符号:任意的大写符号

 2. 定义泛型类

语法:

访问修饰符 class 类名<泛型>{

类中所有的成员都可以使用泛型

}

public class MyList<E>{

}

 3.定义泛型方法

1.语法:

访问修饰符 <泛型> 返回值类型 方法的名称(参数列表){

               方法体

               return 返回值;

}

2.说明:可以给普通方法加泛型 也可以给静态方法加泛型

3.普通的成员方法可以使用类的泛型,而静态方法不能

 4.定义泛型接口

5.泛型通配符

1.简介

泛型通配符可以表示为任意的数据类型 ,泛型通配符号使用?来表示

泛型通配符一般作为方法参数使用

例如:public static void show(List<?> li)

实例化集合对象不可以使用泛型通配符 泛型没有继承的概念

2.特殊的通配符

<? extends E> E本身或者其子类

<? super T> T本身或者其父类

 四、Collections

 五、总结

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值