导图社区 2.泛型Map
泛型知识总结,包括泛型的概念、泛型的好处、泛型类、方法和类的实例及map的概述与功能。
java多线程知识思维导图,主要内容有线程周期、线程安全处理、线程通信、生产者和消费者模式、线程的优先级。
这是一篇关于7.常用API的思维导图,包括object、String、String Buffer和String Builder的介绍、包装类型的转换、日期类。
这是一篇关于6.网络编程的思维导图,主要内容有网络编程的概念、IP地址、TCP协议、UDP协议。
社区模板帮助中心,点此进入>>
英语词性
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
民法分论
日语高考動詞の活用
第14章DNA的生物合成读书笔记
泛型Map
泛型
概念
它的本质是参数化类型,就是将由原来的具体的类型参数化,然后在使用/调用时传入具体的类型。 这些参数类型可以用在类,方法和接口中,分别被称为泛型类型,泛型方法,泛型接口
泛型定义格式
<类型>:指定一种类型格式。这里的类型可以看出时形参
<类型1,类型2....>:指定多种类型的格式,多钟类型之间用逗号隔开
将来具体调用时候给定的类型可以看成是实参参,并且实参的类型只能是引用类型
泛型的好处
把运行时期的问题提前到了编译期间
避免了强制类型转换
泛型类
格式
修饰符class 类名<类型>{} 范例:public class Generic<T>{ } 此处的T可以随便写为任意标识,常见的如:T E K V等形式的参数常用于表示泛型
方法和类的实例

泛型方法
修饰符<类型>返回值类型 方法名(类型 变量名)
范例
public<T> void show(T t){}
泛型接口
修饰符 interface 接口名<类型>{ } public interface Genneric<T>{ }
泛型通配符
类型通配符
<?>
LIst<?>:表示元素类型未知的List,它的元素可以匹配任何的类型
类型通配符上限
<? extends 类型>
List<?extends Number>:表示它的类型是Number或者其子类型
类型通配符下险
<? super 类型>
List<? super Number>:它表示的类型是Number或者其父类型
可变参数
可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的
修饰符 返回值类型 方法名 (数据类型...变量名){ }
范例:public static int sum (int...a){ }
注意事项
这里的变量即a是一个数组,这个素组包含了所有的参数
如果有一个方法有多个参数,包含可变参数,可变参数要放在最后
public static int sum(int b,int...a){ }
可变参数的使用
Arrays工具类中有一个静态方法
public static <T>List<T>asList(T...a ):
返回由指定数组支持的固定大小列表,返回的集合 不能做增删操作,可以做修改操作
List<String>list=Arrays.asList("hello" ,"world","java")
List接口中有一个静态方法:
public static <E>list<E>of(E..elements)
返回包含任意数量元素的不可变列表 返回的集合不能做增删修改操作
List<String>list=list.of("hello" ,"world","java")
Set接口中有一个静态方法
public static <E>Set<E>of(E...elements )
返回包含任意数量元素的不可变的集合 在给元素的时候也不能重复 返回的集合不能做增删操作,没有修改的方法
map
Map
概述
Interface Map<K,V> k:键的类型,V:值的类型
将键映射到值得对象;不能包含重复的键;每个键可以映射最多一个值
创建Map集合的对象
多态的方式,具体实现类HashMap
Map集合的基本功能
V put(k key,V value)
添加元素,当键相同时替代它的值
V remove(Object key)
根据键删除键值对元素
void clear()
移除所有的键值对元素
bollean containsKey(Oject key)
判断集合是否包含指定的元素
bollean containsValue(Object value)
判断集合是否包含指定的值
bollean isEmpty()
判断集合是否为空
int size()
集合的长度,接就是集合中键值对的个数
Map集合的获取功能
V get(Object key) 根据键获取值
Set<K>keySet() 获取所有键的集合
Collection<V>values() 获取所有值的集合
Set<Map.Entry<K,V>>entrySet() 获取所有键值对对象的集合
Map集合的遍历方式
1.获取所有键的集合,用keySet()方法实现 2.遍历键的集合,获取到每一个键。用增强for实现 3.根据键去找值,用get(Object key)方法实现
1.获取所有键值对对象的集合 Set<Map.Entry<K,V>>entrySet():获取所有键值对对象的集合 2.遍历键值对对象的集合,得到每一个键值对对象 用增强for实现,得到每一个Map.Entry 3.根据键值对对象获取键和值 用getKey()得到键 用getSet()得到值
子主题
collections
概述:是针对集合操作的工具类
常用方法
void sort(<List<T>list>)将指定的列表按升序排序
void reverse(<List<T>list>):反转指定列表中元素的顺序
void shuffle ():使用默认随机源随机排列指定的列表