【java】兴唐第二十节课(Collection 和 ArrayList)
(一)Collection
1、如果实现 --able 名称的接口则证明该类或其子类有该功能
(1)实现Iterable接口代表具有迭代功能
(2)实现Cloneable接口代表具有克隆功能
(3)实现Serializable接口代表具有序列化的功能
2、Collection方法的练习
方法摘要
(1) boolean add(E e)
确保此 collection 包含指定的元素(可选操作)。
(2) boolean addAll(Collection<? extends E> c)
将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。
(3) void clear()
移除此 collection 中的所有元素(可选操作)。
(4)boolean contains(Object o)
如果此 collection 包含指定的元素,则返回 true。
(5)boolean containsAll(Collection<?> c)
如果此 collection 包含指定 collection 中的所有元素,则返回 true。
(6)boolean equals(Object o)
比较此 collection 与指定对象是否相等。
(7)int hashCode()
返回此 collection 的哈希码值
。
(8) boolean isEmpty()
如果此 collection 不包含元素,则返回 true。
(9) Iterator iterator()
返回在此 collection 的元素上进行迭代的迭代器。
(10) boolean remove(Object o)
从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
如果存在相同的,则只删除第一个
(11) boolean removeAll(Collection<?> c)
移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。
(12) boolean retainAll(Collection<?> c)
仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。
只要调用的方法改变就返回true
(13)int size()
返回此 collection 中的元素数。
(14)Object[] toArray()
返回包含此 collection 中所有元素的数组。
T[] toArray(T[] a)
返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。
(二)List
方法:
(1) boolean add(E e)
向列表的尾部添加指定的元素(可选操作)。
(2)void add(int index, E element)
在列表的指定位置插入指定元素(可选操作)。
如果插入到数组内部不用担心会越界,此时数组会自动增长,如果插入到数组外面且超过数组的长度,就会越界
(3) boolean addAll(Collection<? extends E> c)
添加指定 collection 中的所有元素到此列表的结尾,顺序是指定 collection 的迭代器返回这些元素的顺序(可选操作)。
(4) boolean addAll(int index, Collection<? extends E> c)
将指定 collection 中的所有元素都插入到列表中的指定位置(可选操作)。
(5) void clear()
从列表中移除所有元素(可选操作)。
(6)boolean contains(Object o)
如果列表包含指定的元素,则返回 true。
(7)boolean containsAll(Collection<?> c)
如果列表包含指定 collection 的所有元素,则返回 true。
(8)boolean equals(Object o)
比较指定的对象与列表是否相等。
(9)E get(int index)
返回列表中指定位置的元素。
当超过元素个数时会越界
(7) int hashCode()
返回列表的哈希码值。
(8) int indexOf(Object o)
返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。
(9) boolean isEmpty()
如果列表不包含元素,则返回 true。
(10) Iterator iterator()
返回按适当顺序在列表的元素上进行迭代的迭代器。
(11) int lastIndexOf(Object o)
返回此列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1。
类比String类
(12)ListIterator listIterator()
返回此列表元素的列表迭代器(按适当顺序)。
注意区分,与Collection不同
(13) ListIterator listIterator(int index)
返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始。
(14) E remove(int index)
移除列表中指定位置的元素(可选操作)。
(16) boolean remove(Object o)
从此列表中移除第一次出现的指定元素(如果存在)(可选操作)。
(17) boolean removeAll(Collection<?> c)
从列表中移除指定 collection 中包含的其所有元素(可选操作)。
(18) boolean retainAll(Collection<?> c)
仅在列表中保留指定 collection 中所包含的元素(可选操作)。
(19) E set(int index, E element)
用指定元素替换列表中指定位置的元素(可选操作)。
(20) int size()
返回列表中的元素数。
(21)List subList(int fromIndex, int toIndex)
返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。
(22)Object[] toArray()
返回按适当顺序包含列表中的所有元素的数组(从第一个元素到最后一个元素)。
(23) T[] toArray(T[] a)
返回按适当顺序(从第一个元素到最后一个元素)包含列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
知识点补充
1、现在开始学的常用类,相当于数据结构
2、什么是接口?抽象方法的集合
3、ctrl + shift + t 查看源码
4、查看某一个接口的所有实现类
选中ctrl + t
5、数组里的length是属性,String里的length是方法。
注意:
1、如果自己定义的类叫ArrayList,则实例化ArrayList时需要加上包名
代码实现
public class ArrayList {public static void main(String[] args) {List list = new java.util.ArrayList();}}
2、
ArrayList继承了Cloneable但其中没有任何方法,起到的作用是标识,表示其为可以克隆的。
留了疑问,什么是可序列化?什么是可以克隆
3、ArrayList的底层是可变长的数组
java中没有动态数组
之前写学生信息管理系统时数组的增长借助了ArrayList的思想。
相关文章:

服务器系统架构分析
我目前的nginx配置是拆散的,这样可以便于在很多个虚拟主机和目录里重用部分配置。 总体是划分为这样一个结构: conf/conf/nginx.confconf/proxy.confconf/rewrite.confconf/location.confconf/port.confconf/upstream.confconf/servers/conf/servers/www…

SharePoint SiteCollection 和SubWeb之间的迁移
因为各种不同的原因,项目里可能碰到需要将一个Site Collection迁移为一个子站点的情况。 实现这种需求只能用 内容部署功能中的导出和导入〉 SiteCollectoin to sub web 示例: cd C:\Program Files\Common Files\Microsoft Shared\web server extensions…

20154312曾林 - Exp1 PC平台逆向破解
1.逆向及Bof基础实践说明 1.1-实践目标 对象:pwn1(linux可执行文件)目标:使程序执行另一个代码片段:getshell内容: 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数。利…

web App libraries跟referenced libraries的一些问题
该博文内容经参看网上其他资料归纳所成,并注明出处: 问题一:myeclipse中Web App Libraries无法自动识别lib下的jar包(http://blog.csdn.net/tiancai1202000/article/details/49178721) myeclipse,lib中的ja…

无法在数据库 'ycmis2' 中运行 BEGIN TRANSACTION,因为该数据库处于回避恢复模式。...
alter database ycmis2 set EMERGENCY alter database ycmis2 set online 转载于:https://www.cnblogs.com/qanholas/archive/2011/08/03/2126347.html

exchange2003备份与恢复
exchange2003备份与恢复owa 访问的是在线访问方式。连接到服务器里的访问邮箱,操作邮件是在服务器上.先发一邮件永久删除,直接从服务器里把此邮件删除掉。删除之后。服务器里已没有此邮件。下面就是来恢复邮件临时位置随便写一个存在的路径。恢复之后装载…

入门Promise的正确姿势
Promise是异步编程的一种解决方案,从语法上说,Promise是一个对象,从它可以获取异步操作的消息。 Promise的基本用法 Promise构造函数接受一个函数作为参数,该函数的两个参数分别是resolve和reject。它们是两个函数,由J…

雪花算法 Java 版
雪花算法根据时间戳生成有序的 64 bit 的 Long 类型的唯一 ID 各 bit 含义: 1 bit: 符号位,0 是正数 1 是负数, ID 为正数,所以恒取 041 bit: 时间差,我们可以选择一个参考点,用它来计算与当前时间的时间差…

【matlab】第二次上机课
1、采用complex建立一个复数数组和直接创立一个复数数组,并计算它们的幅度。 代码实现: a complex(1,2);b 1 3i;length1 abs(a)lengthe abs(b)重点: 使用comlex创建复数 用abs求幅度(模长) 2、将A[0.8147, 0…

运行代码功能尝试
首先定义个文本域并且给个ID <textarea id"O_txt_1" rows"8" cols"80"> <!--要运行的代码--> </textarea> 然后定义个按钮 <input type"button" value"运行代码" οnclick"runCode(O_txt_1)&qu…

删除当前及子文件夹中的空目录
在对文件进行操作的工程中不免会出现空目录的情况,你想怎么去删除那些空目录一个一个去找,然后删除?不会吧,这也太累了,用批处理吧,帮你提高工作效率的,它会准确的判断然后进行删除。 echo off …

基于WebSocket实现聊天室(Node)
基于WebSocket实现聊天室(Node) WebSocket是基于TCP的长连接通信协议,服务端可以主动向前端传递数据,相比比AJAX轮询服务器,WebSocket采用监听的方式,减轻了服务器压力 本文作为学习websocket的练习,实现在线聊天的功能…

Ruby 之 Block, Proc, Lambda 联系--区别,转载
Ruby 之 Block, Proc, Lambda Block Block 不是对象,是Ruby的语言特性,近似于闭包(Closure)。 范例: def meth res yield "Block called returns #{res}"endputs meth do next “next_value” end #…

【java】牛客网刷题
1、 给出以下代码 public class TestObj{public static void main(String[] args){Object onew Object(){public boolean equals(Object obj){return true;}};System.out.println(o.equals(“Fred”));}}答案: true 总结: 知识点: &…

Winder摆杆不稳除了PID还可能的原因
1.卷径计算有问题。 2.速度限制住了。 转载于:https://www.cnblogs.com/Lion-Ming/p/11104972.html

javascript断点调试方法
http://www.blogguy.cn/show-728-1.html

Python爬虫案例-获取最新的中国行政区域划分
源网页:中国统计局标准 http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2016/ 打开网页后可以分析出行政区域划分共分为5层 根据传入参数,生成网页地址时需要1-3层的只传本身以及 4层及以后的增加当前省份的前缀。 #生成实际需要解析的页面地址 def …

管理分布式session的四种方式。
应用服务器的高可用架构设计最为理想的是服务无状态,但实际上业务总会有状态的,以session记录用户信息的例子来讲,未登入时,服务器没有记入用户信息的session访问网站都是以游客方式访问的,账号密码登入网站后服务器必…

【matlab】第三章数组和数组的运算
(一)操作练习 1、构建等差数列的方法 代码实现 //方法1A 5:1:10//输出结果A 5 6 7 8 9 10//方法2 A linspace(1,10,3) //输出结果 A 1.0000 5.5000 10.0000 //注意最后的3指的是一共三个元素//等比数列A logspace(0,2,5)//输…

用PHP生成等比图像的方法
PHP代码 <?php /************************************************************************ * 函数名称:createSmallImg() * 函数说明:创建等比例图片 * 输入参数:$dir 保存路径$source_img 原图片名称$small_ex 缩率图文件名后缀$maxw…

ARM7启动代码
1:PRESERVE8: Reguire8和Preserve8 C和汇编有8位对齐的要求,这两个伪指令可以满足此要求,存在REQUIRE8<——> PRESERVE8的对应关系,但不是说有一个REQUIRE8就要有一个 PRESERVE8,如果是一个c文件和一个汇编文件的调用&#…

一次完整请求的日志
一次完整请求的日志:各种配置文件:spring-mvc.xml<?xml version"1.0" encoding"UTF-8"?><beans xmlns"http://www.springframework.org/schema/beans" rel"nofollow"" target"_blank"…

Aveva Marine C# 二次开发入门001
1# 引用 C:\AVEVA\Marine\OH12.1.SP4\Aveva.ApplicationFramework.dll C:\AVEVA\Marine\OH12.1.SP4\Aveva.ApplicationFramework.Presentation.dll 2# 引用命名空间, using Aveva.ApplicationFramework.Presentation;using Aveva.ApplicationFramework; 3# 继承接口…

搜集《ASP.NET中常用的26个优化性能方法》
1. 数据库访问性能优化 a.数据库的连接和关闭 访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响…

【matlab】我要自学网笔记总结 1.3
1.3 1、在matlab的命令行窗口可以直接进行数学运算 2、π 和平方的使用 S pi*r^2 3、如果输入一个多位小数,输出时只显示小数点后四位,但计算的时候使用的是真实值。 如果要改变显示的位数 (1)可以在 预设 - 命令行窗口 - 数值…

IT规划的企业应用实践(6)研究背景 之 企业信息化建设的诉求
研究背景 之 企业信息化建设的诉求 从实践角度看,企业信息化建设的诸多问题和诉求,可以归纳为以下几个方面: 1. IT系统本身: l 面对成本的压力和客户的要求,在流程方面、运作方面离不开IT支持,IT系统如何支…

Codeforces Gym100812 L. Knights without Fear and Reproach-扩展欧几里得(exgcd)
补一篇以前的扩展欧几里得的题,发现以前写错了竟然也过了,可能数据水??? 这个题还是很有意思的,和队友吵了两天,一边吵一边发现问题??? L. Knights without F…

Tarjan无向图连通性
割点:去掉某点x,该无向图分割成两部分(及以上) 割边:去掉某条边x,该无向图分割成两部分(及以上) 时间戳:在搜索树上的遍历序号dfn 追溯值:subtree子树和非搜索…

php去除字符串首尾空格(包括全角)(转)
<? $str" dfdfdf曊壷顳 道德观第三附属 "; $str mb_ereg_replace(^( | ), , $str); $str mb_ereg_replace(( | )$, , $str); echo mb_ereg_replace( , "\n ", $str); ?>转载于:ht…