网站建设 动态添加内容,网络媒体整合营销,网站建设项目内容,网站产品链接怎么做Java学习之道 泛型 泛型这种参数类型可以用在类、方法和接口中#xff0c;分别被称为泛型类#xff0c;泛型方法#xff0c;泛型接口 参数化类型#xff1a;将类型由原来的具体的类型参数化#xff0c;在使用/调用时传入具体的类型JDK5引入特性提供了安全检测机制#xf…Java学习之道 泛型 泛型这种参数类型可以用在类、方法和接口中分别被称为泛型类泛型方法泛型接口 参数化类型将类型由原来的具体的类型参数化在使用/调用时传入具体的类型JDK5引入特性提供了安全检测机制编译时就能检测避免了强制类型转换 泛型类 格式 测试类 在上面会遇到就是每次定义都需要在—写一次对应类型为此有了以下提升写一次即可来看泛型方法 泛型方法 格式 测试类
泛型接口 格式 接口实现类 测试类 同样以泛型方法的方式去编写代码也可以不用因为类型不同每次new对象 接口类 接口实现类 测试类
类型通配符 为了表示各种泛型List的父类可以使用类型通配符 类型通配符? List?:表示元素类型未知的List它的元素可以匹配任何类型 带通配符的List仅表示他是各种泛型List的父类并不能把元素添加进入如果我们不希望List?是任何泛型List的父类只希望它代表某一类泛型可以使用类型通配符上限 类型通配符上限? extends 类型 List? extends Number表示的类型是Number或者其子类型类型通配符下限 格式:? super 类型 List? super Number:它表示类型是Number或者其父类型 可变参数 可变参数又称参数个数可变用作方法的形参出现那么方法参数个数就是可变的 样例
#格式修饰符 返回值类型 方法名(数据类型...变量名){}
public static int sum(int...a){}简单的几个数字求和但是没办法确定到底多少个也可以用泛型对应数字就可以看成一个数组 可变参数注意事项 这里的变量其实是一个数组如果方法有多个参数包含可变参数可变参数要放在最后 可变参数使用
Arrays工具类中有一个静态方法 asList返回的集合不能做增删操作可以修改操作 #返回由指定数组支持的固定大小的列表
public staticT ListT asList(T...a)List接口中有一个静态方法 返回的集合不能做增删改操作 //返回包含任意数量元素的不可变列表
public staticE ListE of(E...elements) set接口中有一个静态方法 在给元素的时候不能给重复的元素返回的集合不能做增删操作没有修改的方法 //返回一个包含任意数量元素的不可变集合
public static E SetE of(E...elements)Map集合【接口】
Map集合概述和使用
Map集合概述 Interface MapK,V K:键的类型 V值的类型将键映射到值的对象不能包含重复的键每个键可以映射到最多一个值举例学生的学号和姓名 itheima001 林青霞 itheima002 张曼玉 itheima003 王祖贤 创建Map集合的对象 多态的方式具体的实现类HashMap Map添加元素方法put
Main Terminal 如果元素添加键值跟相同则后者会覆盖前者 Map集合的基本功能 刚才上面已经介绍了一种功能添加元素put //添加元素
V put(K key,V value)
//根据键删除键值对元素
V remove(Object key)
//移除所有键值对元素
void clear()
//判断集合是否包含指定键
boolean containsKey(Object key)
//判断集合是否包含指定元素
boolean containsValue(Object value)
//判断集合是否为空
boolean isEmpty()
//集合长度也就是几何中键值对的个数
int size()代码展示 Terminal
Map集合获取功能 在元素put进入Map中之后怎么获取呢如下 //按键值获取
V get(Object key)
//获取所有键的集合
SetK keySet()
//获取所有值的集合
CollectionV values()
//获取所有键值对对象的集合
SetMap.EntryK,VentrySet()Map遍历一
案例 Terminal
Map遍历二 前面的内容都是单纯元素之间的遍历后面我们尝试对象的Map数组存入并遍历冲压 案例 Terminal 这里通过两种方法一种是通过键找值另一种是通过键值对对象找键和值 案例
ArrayList集合存储HashMap元素并遍历 代码展示 Terminal
案例2HashMap集合存储ArrayList元素并遍历 代码展示 Terminal
案例3键盘录入一串字符然后输出每个字符出现的次数
代码展示 Terminal 在这里不难看出所输出的内容并非按照顺序排列所以我们应该使用TreeMap Terminal
总结 对于泛型与Map接口的使用就说到这还需要多练习