java.util.set set接口,继承extends Collection的集合,不允许有重复元素; 实现类:
Treeset:把放进去的元素有序的排放 Hashset:放进去的元素不一定按序出来; Linkedhashset:按输入的顺序输出
set获取迭代器:Itreater(object) it=set.itreatior() Hashset 有equals
和hashcode(object类)方法 Equals:没重写equals比较的是地址;重写比较的是内容;升级了 Hashcode=身份证
如果重写了就是比较两个对象的地址 如果重写就不知道了
把对象写进硬盘里就叫序列化(objectoutputsream);
特有方法:WriteObject (对象 ) 写对象
构造方法:public objectoutputsream(outputsream out ) bufferedoutputstream \fileoutputstream
创建对象:objectoutputsream oos=new objectoutputsream(new fileoutputstream(“”))
实体类要实现serialiable标记性接口,不然允许序列化
把硬盘里的对象读出来就叫反序列化(objectinputsream);
特有方法:object readObject (空 ) 读对象
构造方法:public objectinputsream(inputsream in ) bufferedoutputstream \fileoutputstream
创建对象:objectinputsream ois=new objectinputsream(new fileinputstream(“”))
被静态static修饰过的成员变量不能序列化;被瞬态transient修饰过的也不能序列化
序列化后,如果修改了成员变量的权限修饰符,会报出序列号冲突异常;
解决方法:1)当修改完权限修饰符后,重新序列化一次,再反序列化
2)自己手动就一个序列号id,可以通过成员变量的类型(ctrl+a)得到static final ...,自己随便加一个uid就可以了。