(一)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的思想。

【java】兴唐第二十节课(Collection 和 ArrayList)相关推荐

  1. 【java】兴唐第二十三节课(暑期第一节TreeSet)

    预警:进入暑期培训的博主即将高产似母猪,敬请博友期待. 1.给类添加构造方法 alt + shift + s 选择Generate Construct using Fields 2.map两种遍历方法 ...

  2. 【java】兴唐第二十三节课作业

    已知如下: 下表为某班级四次考试成绩单, 要求使用HashMap<String, Integer>存储每次考试的成绩(key键为姓名,value为成绩). 要求使用LinkedList存储 ...

  3. 【java】兴唐第十节课知识点总结

    1.使用main里的成员方法也要实例化对象吗? 必须实例化 ///重点! 2.在成员方法中调用另一个成员方法可以直接调用(前面省略一个this.) 3. \n也可以在java里用 4.null可以是除 ...

  4. 【THML】兴唐第二十八节课 几个小程序

    1.第一个html文件 <HTML><Head><title>小米商城</title></head><body><font ...

  5. 【数据库】兴唐第二十七节课之jdbc的使用

    使用jdbc修改数据库表中的信息 package java27practice;import java.sql.Connection; import java.sql.DriverManager; i ...

  6. 【数据库】兴唐第二十八节课零散知识点汇总

    1.group by order by等都要放到语句的最后 2.表格标签: <table> <tr>表示行 <td>表示一个行里的单元格 </table> ...

  7. 【HTML】兴唐第二十八节课之初识HTML

    1.HTML:hyper text markup language(超级文本标记语言)算编程,但HTML不是编程语言 2.注意: (1)所有的HTML文件都是以.html或者htm作为扩展名 (2)h ...

  8. 【数据库】 兴唐第二十七节课只sql注入

    首先来一个用户登录程序 public static void login(String username, String password) {Connection conn = null;State ...

  9. JAVA 基础 / 第二十九课:接口与继承 / JAVA中的对象转型

    2018-03-19 一.明确引用类型与对象类型的概念 引用类型与对象类型的概念 在这个例子里,有一个对象 new ADHero(), 同时也有一个引用ad 对象是有类型的, 是ADHero 引用也是 ...

最新文章

  1. 稳压源 GPD-3303系列 控制指令笔记
  2. python调用函数传参时、有默认值的在中间 报错了_python的大坑:使用空列表作为默认参数,让我怀疑遇到了灵异代码...
  3. 岗位内推 | 微软亚洲互联网工程院自然语言处理组招聘NLP工程师
  4. 冷热分离和直接使用大数据库_还不知道HBase冷热分离的技术原理?看这一篇就够了...
  5. plantuml语法_PlantUML实践 | 思维导图
  6. mysql redis hbase_10分钟梳理MySQL核心知识点
  7. 【maven】配置ali镜像
  8. python38环境变量的配置_Windows下python环境变量配置
  9. python编程是啥-什么是Python编程课程
  10. 工业4.0的网络技术(TSN)
  11. 攻防世界hello _pwn总结
  12. 快速实现APP混合开发(Hybrid App开发)攻略
  13. NLP-文本挖掘-综述
  14. 薅羊毛赚钱,也可操作
  15. Oracle怎么清除视图数据,oracle如何删除视图?
  16. 怎么用软碟通制作U启动和再生龙恢复LINUX系统及备份
  17. 一文搞懂AWS EC2, IGW, RT, NAT, SG 基础篇下
  18. win10打开计算机闪屏,Win10打开资源管理器闪屏怎么办?Win10资源管理器闪屏问题的解决方法...
  19. 【CSDN下载】下载热门资源一周精选
  20. HTTPS/HTTP

热门文章

  1. 在一台电脑上使用两个github账号
  2. 两个关于水花的测试。
  3. zookeeper 集群安装
  4. BZOJ4551: [Tjoi2016Heoi2016]树
  5. 使用 GDB 调试多进程程序
  6. 浅谈Android四大组件之Service
  7. 【cs229-Lecture2】Linear Regression with One Variable (Week 1)(含测试数据和源码)
  8. jQuery 超屏加载
  9. javabean和EJB的区别
  10. 在baidu上找到自己