Collection接口
Collection接口所定义的方法:

clear:清空
retainAll 求一个Collection和另一个 Collection的交集.
object[] toArray() 把里面的各个对象转换成一个对象类型的数组.

父类引用指向子类对象,不可以去访问子类特有的一些方法,
改变子类对象不造成影响. 对于整个代码来说更有弹性.

remove时会将add的Hello删除掉. remove时会挨个的读取然后做equals. String的equals重写只要字符序列相同就会equals
但是不可以去掉Name(f1.l1) ,Name是一个对象,判断是否equals的方法是看两个参数是否指向同一对象.所以如果想要remove掉必须重写equals方法.
容器中在比较两个对象是否相等时主要用equals但是有时也会用到hashCode方法.当对象用在Map接口里面作为键,会调用hashCode.
重写equals方法必须重写hashCode 两个对象互相equals那么两个对象具有相同的hashCode. 通过hashCode可以找到内存里的地址.hashCode适合做索引.
重写equals方法:
firstName是equals的,firstName的hashCode方法相等. firstName字符串内部已经实现了hashCode方法.
Collection接口的更多相关文章
- JDK源码阅读(三) Collection<T>接口,Iterable<T>接口
package java.util; public interface Collection<E> extends Iterable<E> { //返回该集合中元素的数量 in ...
- Java基础-Collection子接口之Set接口
Java基础-Collection子接口之Set接口 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 学习Collection接口时,记得Collection中可以存放重复元素,也可 ...
- Java基础-Collection子接口之List接口
Java基础-Collection子接口之List接口 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们掌握了Collection接口的使用后,再来看看Collection接口中 ...
- Java Collection集合接口
Collection接口是赖以集合框架建立的基础.它声明的所有集合的核心方法.这些方法概括于下表中. 因为所有集合都要实现Collection,熟悉它的方法是对框架有清晰的认识很有必要.这几种方法都可 ...
- Collection子接口(List/Set/Queue/SortedSet)
Collection基本的子接口: List:能够存放反复内容 Set:不能存放反复内容,全部反复的内容靠hashCode()和equals()两个方法区分 Queue:队列接口 SortedSet: ...
- java学习笔记——Collection集合接口
NO 方法名称 描述 1 public boolean add(E e) 向集合中保存数据 2 public void clear() 清空集合 3 public boolean contains(O ...
- Collection<E>接口
https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html public interface Collection<E ...
- java 数据结构(十):Collection子接口:Set接口
1. 存储的数据特点:无序的.不可重复的元素具体的: 以HashSet为例说明:1. 无序性:不等于随机性.存储的数据在底层数组中并非照数组索引的顺序添加,而是根据数据的哈希值决定的.2. 不可重复性 ...
- java 数据结构(九):Collection子接口:List接口
1. 存储的数据特点:存储序的.可重复的数据. 2. 常用方法:(记住)增:add(Object obj)删:remove(int index) / remove(Object obj)改:set(i ...
- Collection子接口:Set接口
1.Set 存储的数据特点:无序的.不可重复的元素具体的:以HashSet为例说明: 1. 无序性:不等于随机性.存储的数据在底层数组中并非照数组索引的顺序添加,而是根据数据的哈希值决定的. 2. 不 ...
随机推荐
- LAMP.md
LAMP Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越 ...
- Openjudge 1.13.37:乒乓球
总时间限制: 1000ms 内存限制: 65536kB 描述 国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及.其中11分制改革引起了很大的争议,有一部分球员 ...
- Docker-compose
docker-compose:未找到命令 安装: 须切到root用户: curl -L https://github.com/docker/compose/releases/download/1.7. ...
- 微信小程序 关于底部导航设置
在app.json 中添加 "tabBar": { "color":"#ffffff", "borderStyle":& ...
- ES6新特性:Javascript中内置的延迟对象Promise
Promise的基本使用: 利用Promise是解决JS异步执行时候回调函数嵌套回调函数的问题, 更简洁地控制函数执行流程: 通过new实例化Promise, 构造函数需要两个参数, 第一个参数为函 ...
- bzoj2064[和谐社会模拟赛]分裂
题意:给定一个初始集合和目标集合,有两种操作:1.合并集合中的两个元素,新元素为两个元素之和 2.分裂集合中的一个元素,得到的两个新元素之和等于原先的元素.要求用最小步数使初始集合变为目标集合,求最小 ...
- 使用Maven Assembly plugin将依赖打包进jar
一个Eclipse的工程,在pom中配置了若干依赖,需要将pom中所有的依赖全部打包进一个jar包中,可以选择的方案有maven-assembly-plugin和fatjar.以前采用fatjar进行 ...
- SpringMVC常用注解的用法
1. @PathVariable 当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvari ...
- Codeforces Round #342 (Div. 2) A. Guest From the Past(贪心)
传送门 Description Kolya Gerasimov loves kefir very much. He lives in year 1984 and knows all the detai ...
- maridb(mysql) debian-sys-maint用户说明
debian-sys-maint中Debian系统对MySQL维护用的,可以理解为通过系统的某个“非常规”程序对Mysql进行备份恢复等行为时,改程序所使用的登录Mysql的账户. 这个debian- ...