这样的问题很简单的,就算我从来没有学过java,我也可以找到答案。

第一种方法,看注释:

/**

* Returns true if this list contains the specified element.

* More formally, returns true if and only if this list contains

* at least one element e such that

* (o==null ? e==null : o.equals(e)).

*

* @param o element whose presence in this list is to be tested

* @return true if this list contains the specified element

* @throws ClassCastException if the type of the specified element

* is incompatible with this list

* (optional)

* @throws NullPointerException if the specified element is null and this

* list does not permit null elements

* (optional)

*/

上面不是有说吗?

如果为null,则判空,如果非空就是o.equals(e)的比较。

第二个方法,如果没有注释呢?

假设别人的代码没有给出注释怎么办呢?

读源码呀,源码里没有秘密。

boolean contains(Object o);

这是list里的接口方法

我就写一个例子

List arrayList = new ArrayList<>();

arrayList.contains("test");

实现类是ArrayList吧,进去看ArrayList的源码

这就是它的比较代码

/**

* Returns true if this list contains the specified element.

* More formally, returns true if and only if this list contains

* at least one element e such that

* (o==null ? e==null : o.equals(e)).

*

* @param o element whose presence in this list is to be tested

* @return true if this list contains the specified element

*/

public boolean contains(Object o) {

return indexOf(o) >= 0;

}

再看

indexOf(o)

结果就出来了

/**

* Returns the index of the first occurrence of the specified element

* in this list, or -1 if this list does not contain the element.

* More formally, returns the lowest index i such that

* (o==null ? get(i)==null : o.equals(get(i))),

* or -1 if there is no such index.

*/

public int indexOf(Object o) {

if (o == null) {

for (int i = 0; i < size; i++)

if (elementData[i]==null)

return i;

} else {

for (int i = 0; i < size; i++)

if (o.equals(elementData[i]))

return i;

}

return -1;

}

再反问自己,调用equals方法的时候,调用的是谁的呀?你的对象都没有这个方法,又没有父类,那肯定是object里的呀。

这就是结了吗?

这么简单。

java集合光加_阳光沙滩-java集合:使用新建对象检查数组是否包含问题相关推荐

  1. java整数的因式分解_如何在Java中找到整数的质数-因式分解

    java整数的因式分解 编程课程中的常见家庭作业/任务之一是关于Prime Factorization. 要求您编写一个程序以找到给定整数的素因子 . 一个数字的素数因子是将精确地除以给定数字的所有素 ...

  2. collection集合 多少钱_面试必备-Java集合框架

    Java集合框架面试题 常见集合 集合可以看作是一种容器,用来存储对象信息. 数组和集合的区别: (1)数组长度不可变化而且无法保存具有映射关系的数据:集合类用于保存数量不确定的数据,以及保存具有映射 ...

  3. java集合框架源代码_面试必备——Java集合框架

    Java集合框架面试题 常见集合 集合可以看作是一种容器,用来存储对象信息. 数组和集合的区别: (1)数组长度不可变化而且无法保存具有映射关系的数据:集合类用于保存数量不确定的数据,以及保存具有映射 ...

  4. java项目斗地主介绍_详解java_ 集合综合案例:斗地主

    案例介绍 按照斗地主的规则,完成洗牌发牌的动作. 具体规则: 使用54张牌打乱顺序,三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌. 案例分析 1.准备牌: 牌可以设计为一个Array ...

  5. java集合for循环_详解Java中list,set,map的遍历与增强for循环

    详解Java中list,set,map的遍历与增强for循环 Java集合类可分为三大块,分别是从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型集合. 关于增强for ...

  6. java 代码 内存泄露_如何用Java编写一段代码引发内存泄露

    Q:刚才我参加了面试,面试官问我如何写出会发生内存泄露的Java代码.这个问题我一点思路都没有,好囧. A1:通过以下步骤可以很容易产生内存泄露(程序代码不能访问到某些对象,但是它们仍然保存在内存中) ...

  7. java 配置文件的路径_详解java配置文件的路径问题

    详解java配置文件的路径问题 详解java配置文件的路径问题 各种语言都有自己所支持的配置文件,配置文件中有很多变量是经常改变的.不将程序中的各种变量写死,这样能更方便地脱离程序本身去修改相关变量设 ...

  8. java程序设计清考_面向对象程序设计(Java)-题库

    <面向对象程序设计(Java)-题库>由会员分享,可在线阅读,更多相关<面向对象程序设计(Java)-题库(33页珍藏版)>请在金锄头文库上搜索. 1.面向对象程序设计 (ja ...

  9. java unsafe获取指针_【实战Java高并发程序设计 1】Java中的指针:Unsafe类

    是<实战Java高并发程序设计>第4章的几点. 如果你对技术有着不折不挠的追求,应该还会特别在意incrementAndGet() 方法中compareAndSet()的实现.现在,就让我 ...

最新文章

  1. PHP生成条形码 之二 开源之道
  2. Hadoop 2.x的DistributedCache无法工作的问题
  3. Python零基础学习笔记(二十二)—— set
  4. 《剑指offer》替换空格
  5. POJ 1836 Alignment
  6. linux5种IO模型以及同步异步,阻塞非阻塞
  7. 管壁式换热器cad图纸_民勤图纸管板加工加工
  8. leetcode9. 回文数
  9. java上机实验答案_java上机实验答案与解析
  10. [求助]请教一个问题!
  11. 创建List的应用小结
  12. 51单片机学习笔记(清翔版)(23)——红外通讯
  13. iOS不完美越狱手机doubleH3lix无法打开解决方法
  14. 『免费+批量』英文论文下载神器
  15. linux通过top和iostat查找io性能瓶颈
  16. 小米全国高校编程大赛 高弗雷勋爵
  17. 机器学习诗词创作_通过机器学习创作音乐
  18. 编译小米2s CyanogenMod 版本遇到的几个问题
  19. 2019高中数学联赛备考手册(预赛试题集锦)
  20. JAVA -Xms与-Xmx区别

热门文章

  1. RFID人员定位设备具体配置
  2. 《笨方法学 Python 3》35.分支和函数
  3. ios浏览器微信支付回调页面_iOS集成H5微信支付实现跳转与回调的解决方案
  4. 密码错误频繁登录引发的“library cache lock”或“row cache lock”等待
  5. linux下定时备份文件,Linux下定时备份文件
  6. 程序员的职业素养(一)
  7. 信息科安全教育考试题-部门级安全教育
  8. 期初余额、期后事项审计与审计报告案例
  9. 数据结构一线性表 (顺序表、单链表、双链表)
  10. 2345浏览器写CSDN博客错误