day14
★01
★02 collection framework 共性方法。
接口,没有构造方法摘要,只有方法摘要。
增删改查。容器
retainAll(Collection) 取交集。
1.5出现的新特性,泛性。
iterator 取元素。
List:Arraylist Linkedlist
set:Hashset
★03
集合中存放的不可能是对象实体。如果这么存放的话,集合太胖。
而且建立好的对象会经常挪动位置,存放的实际都是地址。
retainAll 取交集。
removeall
★04 迭代器 List集合共性方法。
iterator 接口型引用,只能指向自己的子类对象。
collection 中是抽象的方法。要找具体实现的方法。
★05 ListIterator
List集合中的元素都带角标。
在遍历过程中,可以进行增删改查。
vector出现的时候,集合框架还不存在;集合框架在1.2版本后出现。
contains的底层原理就是equals。
★13
hashset集合保证集合中元素的唯一性;
hashcode 作为Object中的方法,有底层的,自定义的如果不能将其复写,则还是调用hashcode。
★14
对于判断元素是否存在,以及删除等操作,依赖的方法是元素的hashcode和equals方法。
ArrayList 依赖equals;Hashset 先用hashcode,再用equals判断。
day15
★01 Treeset
★02
需求:
往TreeSet集合中存储自定义对象学生。
想按照学生的年龄进行排序。
ClassCastExcetion 类转换异常。
★03二叉树
★06 泛型概述
1.5版本以后集合中可以添加基本数据类型,因为它有一个自动装箱开箱的过程:
a1.add(4) a1.add(new Integer(4));
★08
什么时候定义泛型类?
当类中要操作的引用数据类型不确定的时候
早起定义Object来完成扩展。
现在定义泛型来完成扩展。
泛型除了定义在类上,还可以被定义在方法上。
★10
静态方法泛型
静态方法不可以访问类上定义的泛型。
如果静态方法操作的应用数据类型不确定 ,可以将泛型定义在方法上。
泛型定义在接口上。
★12
泛型限定。? extends Person
? 通配符。也可以理解为占位符。
泛型的限定:
? extends E:可以接收E类型或者E的子类型。上限。
?super E:可以接收E类型或者E的父类型。下限。
day16
★01
★02
★03
Map
空键空值
★05
Set<Map.Entry<String,String>> entrySet= map.entrySet();
Iterator<Map.Entry<String,String>> it= entrySet.iterator();
Map.Entry<K,V>
接口只有是内部的时候才能加static(静态修饰符),
★06
★08
统计一条字符串中字母出现的次数并打印.
第一次用a字母作为键去找集合。那么集合没有a这个键,所以也没有对应的次数。返回null。
如果为null,就将字母a和1存入集合。
如果指定的键已经存在,说明有对应的次数。就将对应的次数取出,并自增后重新存入集合。
★09
Iteratro<String> it=czbk.keySet().iterator();