黑马程序员_集合和泛型

------- android培训java培训、期待与您交流! ----------

集合的由来:为了对多个对象进行操作(存储和取出),java提供了集合框架中的类供我们使用

数组和集合的区别:数组长度固定,可以存储基本数据类型,也可以存储对象

           集合只能存储对象,长度可变  

集合框架的体系结构:集合框架主要分为Collection和Map

Coolection集合体系继承树


Map集合体系继承树



数据结构体系


泛型:JDK1.5版本以后出现新特性。用于解决安全问题,是一个类型安全机制。
好处
1.将运行时期出现问题ClassCastException,转移到了编译时期。,
方便于程序员解决问题。让运行时问题减少,安全。,
2,避免了强制转换麻烦。
泛型格式:通过<>来定义要操作的引用数据类型。
在使用java提供的对象时,什么时候写泛型呢?通常在集合框架中很常见,只要见到<>就要定义泛型,其实<> 就是用来接收类型的。
当使用集合时,将集合中要存储的数据类型作为参数传递到<>中即可。

集合的常用操作:
1.添加元素:boolean add(Object obj)、boolean addAll(Collection c)
2.删除元素:boolean remove(Object obj)、boolean removeAll(Collection c)、void clear()
3.判断功能:boolean contains(Object obj)、boolean containsAll(Collection c)、 boolean isEmpty()
4.长度:int size()
5.把集合变成数组:Object[] toArray()
6.遍历集合元素,使用迭代器Iterator;


Set集合中添加的元素是无序、不重复的元素,比较元素唯一性的根据是比较器,Set集合中添加的对象具有两种实现比较的方法,一是是对象自身具有比较性:让自定义对象实现Comparable接口,并覆写compareTo方法;二是定义一个自定义比较器,使用传入比较器的构造函数,使得集合自己本身具有比较性,自定义比较器实现Comparator接口,并覆写compare方法。
让元素自身具备比较性:


定义一个自定义比较器


Map集合:该集合存储键值对,一对一对往里存,每个键最多只能映射到一个值;
往Map集合中添加对象,使用put(K key,V value)方法,如果添加对象的key值在集合中已经存在,那么新添加的对象将会覆盖已经存在的对象,并且put方法返回原来的值。
Map集合中元素的取出有两种形式:set<v> keySet()将map中所有的键存到了set集合,因为set集合具备迭代器,可以通过迭代方式取出所有的键,再根据get方法,取出所有的值,map集合取出的原理:将map集合转换成set集合,然后利用迭代器、Set<Map.Entry<k,v>> entrySet()将map集合中的映射关系存入到了set集合中,而这个关系的数据类型是Map.Entry,关系对象Map.Entry获取后,在通过Map.Entry中的getKey和getValue来获取关系中的键和值



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值