泛型笔记

<String> 泛型:确定集合中只能存放某一种数据类型的对象。
泛型:java jdk1.5新特性
泛型的好处:
1. 可以将运行时的错误 提前到编译时报错。
2.避免了无谓的强制类型转换。


自定义方法泛型: 自定义泛型就是一个数据类型的占位或者一个数据类型变量,一般T或E 来做这个占位的符号
方法泛型的格式:
public static <T> T test(T s){

return s;
}
方法泛型的格式

<占位符> T:定义了一个泛型

如果传进去的是基本数据类型:接收的时候已改用它的包装类来接收
int ——》Integer:
short ——》Short
double——》Double
float——》Float
byte——>Byte
boolean——》Boolean
long——》Long
char——》Charactor

泛型方法的使用注意点:
1.泛型方法中自定义的泛型是在实现该接口的时候被指定的。
2.如果实现接口是没有指定接口,那么就会默认为Object。
3.需要在创建接口实现类对象-/

Map 集合 接口 双列集合 K:V OC中的字典很像
特点:存储数据是以键和值的方式,键不允许重复, 值是允许重复的
————>HashMap //元素取值是无序的
存储原理也是用哈希表来存放的:
往HashMap添加元素,首先会调用键hashCode方法获得一个哈希值,然后经过运算获取一个位置.
情况1:如果位置上没有元素,那么直接将元素存放在此位置。
情况2:如果位置有了元素,那么还会调用equals方法与这个位置上的元素做比较,如果返回回来的true,
那么就被视为相同的键,就不存,如果返回回来时false,那么久可存该元素

————>TreeMap //键具备自然排序特性,元素存值就通过自然排序来存值
给予二叉树的结构存储。特点:会以键来做自然排序。

1.往TreeMap 添加元素时,如果元素的键具备自然排序功能,那么就会通过自然排序来对元素进行排序
2.添加元素时 如果不具备自然排序特性,键所属的类就必须要实现Comparable接口,把这个键的比较规则定义在
compareTo方法中。
3.如果不具备自然排序特性,也没有Comparable接口,创建TreeMap的时候给他一个比较器的结构
class 类名 implements Compartor 接口{

}
键的比较规则定义在compare方法中

————>HashTable HashMap 一样使用,线程安全 .但是访问比较慢(了解
7TJ)

Map中常用的方法:
添加:
put(K ,key V value)

删除:
clear()//清空集合中的所有元素
remove(Object key) //通过键删除指定的元素


获取:
get(Object key)//通过键来获取值
size()//获取集合元素的个数
System.out.println("获取到集合中元素的个数:"+map.size())

判断:
isEmpty()//判断集合中是否有元素
containsKey(Object key)//判断集合中是否存在某一个键
containValue(Object value)//判断元素中是否含有某一个值

//键可以是任意类型的对象

Map集合的使用注意点:
1. 键可以是任意对象,值也可以是任意对象
2.Map集合中是可以嵌套list(


Collection :接口
Collections:集合的工具类 Arrays(数组的工具类)

原文地址:https://www.cnblogs.com/hjl553155280/p/6134694.html