ArrayList.contains() 方法实现方式

在看 http://www.cnblogs.com/silence-hust/p/4558701.html

重写 equals 方法的时候,涉及的方式是判断 对象是否存在于列表中,正好翻一翻源码了解一下

Arraylist 的底层是一个数据

这个是构造方法,add 了元素后,size 就是底层数组的长度,也是当前列表的长度

这个就是 contains 方法,判断元素是否存在于列表中,可以看到其调用了一个 indexOf() 方法。

顾名思义就是查询元素在列表中的位置,用返回的数组下标和0做比较

看看 indexOf()方法,判断 null ,否则 用 equals 对比元素地址是否为同一引用

这个 equals 方法是 Object 类中的

这就是 contains() 方法的实现过程。

时间: 2024-12-19 12:23:06

ArrayList.contains() 方法实现方式的相关文章

将java中数组转换为ArrayList的方法实例(包括ArrayList转数组)

方法一:使用Arrays.asList()方法 1 2 String[] asset = {"equity", "stocks", "gold", "foreign exchange","fixed income", "futures", "options"}; List<String> assetList = Arrays.asList(asset);

java 容器 arraylist 使用方法

1. ArrayList概述: ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口. ArrayList 继承了AbstractList,实现了List.它是一个数组队列,提供了相关的添加.删除.修改.遍历等功能. ArrayList 实现了RandmoAccess接口,即提供了随机访问功能.Rand

Thread 调用方法的方式

1.传统ThreadStart 2.ParameterizedThreadStart 3.委托thread = new Thread(delegate() { NoticeBroadcast(userinfos, com2); }); 4.匿名方法 thread = new Thread(() =>NoticeBroadcast(userinfos, com2)); Thread 调用方法的方式,布布扣,bubuko.com

【转】Java.util.ArrayList.set()方法实例

java.util.ArrayList.set(int index, E element) 替换与指定元素在此列表中指定位置的元素. 声明 以下是java.util.ArrayList.set()方法的声明 public E set(int index, E element) 参数 index -- 替换索引的元素. element -- 要被存储在指定位置的元素. 返回值 此方法返回在指定位置之前元素. 异常 IndexOutOfBoundsException -- 如果索引超出范围 例子 下

python 中特殊方法简写方式

##python 中特殊方法简写方式 class Test: __call__ = lambda *args: args[1] * 2 #这里需要注意lambda的参数 会默认将实例self 加进去 __str__ = lambda self: 'that`s useful...%s' % self.__class__.__name__ t = Test() print(t) print(t(10)) 原文地址:https://www.cnblogs.com/alplf123/p/1029388

struts中调用servlet的两种方法——IcC方式和非IoC方式的代码demo

1 package com.java1234.action;//所在的包 2 3 import java.sql.Connection;//数据库连接的类 4 import java.util.ArrayList;//ArrayList和List是在private List<DataDic> dataDicList=new 5 6 ArrayList<DataDic>();中用到 7 import java.util.List;//ArrayList和List是在private L

ArrayList.subList方法的

在平时,需要取出集合中一部分数据时.通常会使用subList 举个例子: List<String> list=new ArrayList<>(); list.add("d"); list.add("33"); list.add("44"); list.add("55"); list.add("66"); List<String> list2 = list.subList(

jquery ajax跨域的完美解决方法(jsonp方式)

ajax跨域请求的问题,JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式,接下来为大家详细介绍下客户端JQuery.ajax的调用代码 今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式.分别是JQuery的 jquery.ajax jsonp格式和jquer

JAVA学习--ArrayList使用方法:List的主要实现类

* List中相对于Collection,新增加的方法      *  void add(int index, Object ele):在指定的索引位置index添加元素ele         boolean addAll(int index, Collection eles)         Object get(int index):获取指定索引的元素         Object remove(int index):删除指定索引位置的元素         Object set(int in