当前位置: 首页 > 编程日记 > 正文

【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配置是拆散的&#xff0c;这样可以便于在很多个虚拟主机和目录里重用部分配置。 总体是划分为这样一个结构&#xff1a; conf/conf/nginx.confconf/proxy.confconf/rewrite.confconf/location.confconf/port.confconf/upstream.confconf/servers/conf/servers/www…

SharePoint SiteCollection 和SubWeb之间的迁移

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

20154312曾林 - Exp1 PC平台逆向破解

1.逆向及Bof基础实践说明 1.1-实践目标 对象&#xff1a;pwn1&#xff08;linux可执行文件&#xff09;目标&#xff1a;使程序执行另一个代码片段&#xff1a;getshell内容&#xff1a; 手工修改可执行文件&#xff0c;改变程序执行流程&#xff0c;直接跳转到getShell函数。利…

web App libraries跟referenced libraries的一些问题

该博文内容经参看网上其他资料归纳所成&#xff0c;并注明出处&#xff1a; 问题一&#xff1a;myeclipse中Web App Libraries无法自动识别lib下的jar包&#xff08;http://blog.csdn.net/tiancai1202000/article/details/49178721&#xff09; myeclipse&#xff0c;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 访问的是在线访问方式。连接到服务器里的访问邮箱&#xff0c;操作邮件是在服务器上.先发一邮件永久删除&#xff0c;直接从服务器里把此邮件删除掉。删除之后。服务器里已没有此邮件。下面就是来恢复邮件临时位置随便写一个存在的路径。恢复之后装载…

入门Promise的正确姿势

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

雪花算法 Java 版

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

【matlab】第二次上机课

1、采用complex建立一个复数数组和直接创立一个复数数组&#xff0c;并计算它们的幅度。 代码实现&#xff1a; a complex(1,2);b 1 3i;length1 abs(a)lengthe abs(b)重点&#xff1a; 使用comlex创建复数 用abs求幅度&#xff08;模长&#xff09; 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…

删除当前及子文件夹中的空目录

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

基于WebSocket实现聊天室(Node)

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

Ruby 之 Block, Proc, Lambda 联系--区别,转载

Ruby 之 Block, Proc, Lambda Block Block 不是对象&#xff0c;是Ruby的语言特性&#xff0c;近似于闭包&#xff08;Closure&#xff09;。 范例&#xff1a; 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”));}}答案&#xff1a; true 总结&#xff1a; 知识点&#xff1a; &…

Winder摆杆不稳除了PID还可能的原因

1.卷径计算有问题。 2.速度限制住了。 转载于:https://www.cnblogs.com/Lion-Ming/p/11104972.html

javascript断点调试方法

http://www.blogguy.cn/show-728-1.html

Python爬虫案例-获取最新的中国行政区域划分

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

管理分布式session的四种方式。

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

【matlab】第三章数组和数组的运算

&#xff08;一&#xff09;操作练习 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 /************************************************************************ * 函数名称&#xff1a;createSmallImg() * 函数说明&#xff1a;创建等比例图片 * 输入参数&#xff1a;$dir 保存路径$source_img 原图片名称$small_ex 缩率图文件名后缀$maxw…

ARM7启动代码

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

一次完整请求的日志

一次完整请求的日志&#xff1a;各种配置文件&#xff1a;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# 引用命名空间&#xff0c; using Aveva.ApplicationFramework.Presentation;using Aveva.ApplicationFramework; 3# 继承接口…

搜集《ASP.NET中常用的26个优化性能方法》

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

【matlab】我要自学网笔记总结 1.3

1.3 1、在matlab的命令行窗口可以直接进行数学运算 2、π 和平方的使用 S pi*r^2 3、如果输入一个多位小数&#xff0c;输出时只显示小数点后四位&#xff0c;但计算的时候使用的是真实值。 如果要改变显示的位数 &#xff08;1&#xff09;可以在 预设 - 命令行窗口 - 数值…

IT规划的企业应用实践(6)研究背景 之 企业信息化建设的诉求

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

Codeforces Gym100812 L. Knights without Fear and Reproach-扩展欧几里得(exgcd)

补一篇以前的扩展欧几里得的题&#xff0c;发现以前写错了竟然也过了&#xff0c;可能数据水&#xff1f;&#xff1f;&#xff1f; 这个题还是很有意思的&#xff0c;和队友吵了两天&#xff0c;一边吵一边发现问题&#xff1f;&#xff1f;&#xff1f; L. Knights without F…

Tarjan无向图连通性

割点&#xff1a;去掉某点x&#xff0c;该无向图分割成两部分&#xff08;及以上&#xff09; 割边&#xff1a;去掉某条边x&#xff0c;该无向图分割成两部分&#xff08;及以上&#xff09; 时间戳&#xff1a;在搜索树上的遍历序号dfn 追溯值&#xff1a;subtree子树和非搜索…

php去除字符串首尾空格(包括全角)(转)

<? $str" dfdfdf曊壷顳 道德观第三附属 "; $str mb_ereg_replace(^( | ), , $str); $str mb_ereg_replace(( | )$, , $str); echo mb_ereg_replace( , "\n ", $str); ?>转载于:ht…