黑马程序员——集合-泛型;Map
来源:互联网 发布:linux init work 编辑:程序博客网 时间:2024/06/02 10:03
1. 泛型
JDK1.5版本出现的一种安全机制
格式:
集合类<数据类型> 变量 = new 集合类<数据类型>();
数据类型,指定了这个集合,只能存储这个类型的对象
泛型的出现,将安全问题,由运行时期,提前到了编译时期
ArrayList<E> boolean add(E e) E:看成是一个变量
ArrayList<String> 所有的E都变成了String
好处,减少了代码,使用泛型避免类型的强制转换
泛型什么时候该写泛型:当你用一个类的时候,发现类的右边<>使用泛型了
注意:存储基本数据类型,泛型必须写8个对象包装类
2. 例:定义一个工厂,生产对象的,制造对象,下订单
泛型类,声明类的时候,加上泛型
泛型方法, 在方法上定义泛型,和类无关
泛型接口
interface MyInter<T>{
void abc(T t);
}
//定义实现类,实现接口的同时,不指定泛型,等待new实现类对象的时候
class MyInterImpl<T> implements MyInter<T>{
public void abc(T t){
System.out.println(t);
}
}
public class GenericDemo5 {
public static void main(String[] args) {
MyInterImpl<String> my=new MyInterImpl<String>();
MyInterImpl<Integer> my2=new MyInterImpl<Integer>();
}
}
3. 泛型的通配符和限定
通配意思就是所有的都匹配比如:* *.java XXX.* ?
4. Map集合
映射,键映射到值的集合,Map体系的集合,存储对象的时候,一次存储两个对象,一个称作键,一个称作值,双列集合
一个键,最多只能映射一个值
不允许出现重复键
5. Map接口中的方法
V put(K,V) 将键值对存储到集合。返回值,存储了重复的键,返回被覆盖之间的值
V get(K) 根据键,获取值,传递一个键,返回键映射的值,没有这个键,返回null
V remove(K)移除指定的键,对应的值,返回被移除前的值,没有移除成功,返回null
boolean containsKey(K)判断集合中,有没有这个键,有返回true
boolean containsValue(V)判断集合中个,有没有这个值,有返回true
Collection values()将集合中的所有值,保存到Collection集合
Set<K> keySet()键存储到Set集合
Set<Map.Entry<K,V>>映射关系对象保存到Set集合
6. 获取Map集合中键值对的方式
第一种,利用Map中的一个方法keySet(),Map集合中的键,存储到Set集合
迭代Set集合,获取出来的是所有的键
通过键获取值,Map接口中的get方法
第二种利用Map集合中的键值对映射关系获取
Map接口中有一个方法entrySet(),获取键值对的映射关系对象Entry,将这个对象Entry存储到了Set集合
迭代Set集合,获取出来的Set集合中存储的是映射关系对象Entry
通过关系对象的方法 getKey getValue
7. Map中接口中,有一个子接口
interface Map{
interface Entry{}描述键值对映射关系的
Entry接口中的两个方法 getKey() getValue()
Entry -- 结婚证 getKey()获取键 getValue()获取值
}
8. HashMap类
底层也是哈希表,允许存储null值,null键
不同步,线程不安全,执行效率高
保证:存储到HashMap集合中的键,唯一性
自定义对象,保证唯一性,hashCode equals方法
- 黑马程序员——集合-泛型;Map
- 黑马程序员——泛型、Map集合
- 黑马程序员——泛型,Map集合
- 黑马程序员—Map集合
- 黑马程序员—Map集合
- 黑马程序员_08集合——Map
- 黑马程序员——Map集合
- 黑马程序员——Map集合
- 黑马程序员——MAP集合#
- 黑马程序员——Map集合
- 黑马程序员——集合框架Map
- 黑马程序员——Map集合总结
- 黑马程序员——Map集合
- 黑马程序员——Map集合
- 黑马程序员——Map集合
- 黑马程序员——Map集合
- 黑马程序员——Java Map集合
- 黑马程序员——Map集合
- Android学习之路
- vc下proc开发环境与pclint的配置-pclint相关
- 在程序中用new ClassPathXmlApplicationContext()的注意事项
- linux MISC 驱动模型分析
- eclipse实现批量修改文件的编码方式
- 黑马程序员——集合-泛型;Map
- 信息安全类网站收集
- jQuery制作返回顶部按钮
- 黑马程序员——java基础(IO部分知识梳理)下
- 易优品购物平台正式上线,专注100元以下高性价比的商品
- poj1001(大数据)
- 易优品“9.9包邮”频道上线 每天上线千款商品u
- iOS:新特性一(iOS5.1/xcode4.4)--LLVM4.0
- MAC下Myeclipse SVN插件安装(亲测成功)