util15课堂笔记

发布 2021-05-12 14:44:28 阅读 6547

上节回顾:

抽象类和接口。

什么是抽象类—abstract

什么是接口 --interface implements

抽象类的特点。

接口的特点。

抽象类和接口的**。

抽象类和接口的好处。

接口多继承。

类对接口的多实现。

本节课程:

数组: 存放相同数据类型的一组有序集合。

数组也是一个容器,用来存放数组,但是有2个局限性。

1) 数组一旦定义好,长度就不能改变。

2) 数组中存放的数据要求是相同数据类型。

本单元学习的集合,与数组不同的地方时,容量是可以变动,另外数据类型也可以不同,还有一个不同之处,我们队数组中的数据操作也具有一定的局限性。本单元学习的集合对数据的可操作性更加灵活。

集合完全可以当做可以容纳东西的一个容器,在程序不同的集合就好像不同的容器一样,分别用来存放不同状态的数据。

collection : 本意是收纳的意思,也可以理解容器的意思。

在j**a中collection是一个接口,是集合层次结构的一个根接口,也就是说很多集合类都是collection接口的实现类。

collection表示一组对象,这些对象可以成为collection容器的元素,这些元素有什么特点:有些允许有重复的元素,还有一些不允许有重复的元素。还有一些是有序,另外一些事无序。

在jdk中,collection接口一般不直接使用,它派生出两个主要子类set和list。

collection接口中常用的抽象方法:

add(ee)

确保此 collection 包含指定的元素(可选操作)。

clear()

移除此 collection 中的所有元素(可选操作)。

contains(objecto)

如果此 collection 包含指定的元素,则返回 true

isempty()

如果此 collection 不包含元素,则返回 true。

iterator()

返回在此 collection 的元素上进行迭代的迭代器。

remove(objecto)

从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。

list:是一个collection接口的子接口,在包下,list是一个有序的集合,该集合可以实现向集合中准确的在某个位置上添加一个元素。也可用通过指定的索引位置获取集合中的中的某个具体的元素。

list集合是允许有重复的元素的。也可以允许放null,甚至多个null值。

set是一个collection接口的子接口,set集合不包含重复的元素,最多包含一个null元素。

arraylist

linkedlist

stackvector

arraylist是接口list的一个具体实现类,该类的大小是一个可变的数组,可以对集合中的元素进行操作,允许有null值。每个 arraylist 实例都有一个容量。该容量是指用来存储列表元素的数组的大小。

它总是至少等于列表的大小。随着向 arraylist 中不断添加元素,其容量也自动增长。arraylist实现类没有实现同步,就是线程不安全。

arraylist的三个构造方法:

arraylist类的方法的使用:

add(ee)

将指定的元素添加到此列表的尾部。

add(intindex, eelement)

将指定的元素插入此列表中的指定位置。

clear()

移除此列表中的所有元素。

contains(objecto)

如果此列表中包含指定的元素,则返回 true。

get(intindex)

返回此列表中指定位置上的元素。

indexof(objecto)

返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。

isempty()

如果此列表中没有元素,则返回 true

lastindexof(objecto)

返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1。

remove(intindex)

移除此列表中指定位置上的元素。

remove(objecto)

移除此列表中首次出现的指定元素(如果存在)。

set(intindex, eelement)

用指定的元素替代此列表中指定位置上的元素。

size()

返回此列表中的元素数。

linkedlist是list接口的实现类,链表列表的实现,允许所有元素可以重复,而且允许有null值。linkedlist 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。实现不是同步,也就说明线程不安全。

linkedlist常用的操作方法:

addfirst(ee)

将指定元素插入此列表的开头。

addlast(ee)

将指定元素添加到此列表的结尾。

getfirst()

返回此列表的第一个元素。

getlast()

返回此列表的最后一个元素。

arraylist和linkedlist的区别:

相同点:两者都是list的实现类,集合中的数据,都是有序,可以重复,线程不安全。

不同点:前者实现是线性表结构 , 后者实现是链表结构

前者适合查询数据 ,后者适合插入数据和删除数据。

后者可以通过对链表头和链表未进行相关操作,增加操作的复杂性。

iterator:对 collection 进行迭代的迭代器。

hasnext()

如果仍有元素可以迭代,则返回 true。

next()

返回迭代的下一个元素。

set是一个不包含重复元素的 collection。

set的实现类:hashset和treeset。

hashset是set的一个实现类,在包中。由哈希表(实际上是一个 hashmap 实例)支持。它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。

此类允许使用 null 元素,但是set集合中不能有重复的元素。hashset不是同步的,也就是说线程不安全。

treeset: 使用元素的自然顺序对元素进行排序,此实现不是同步的。

collections和collection特别相似,但是两者有很大的区别,前者只是一个类,后者是一个集合的接口,功能完全不一样,可以把collections当做collection的一个辅助工具类。collections中有很多静态方法,这些方法可以直接操作collection集合对象。

collections是包的一个类。

学习collections类就是学习里面的一些静态方法,实现对集合的操作。

addall(collectionc, t...elements)

将所有指定元素添加到指定 collection 中。

binarysearch(list>list, tkey)

使用二分搜索法搜索指定列表,以获得指定对象。

copy(listdest, listsrc)

将所有元素从一个列表复制到另一个列表。

高中英语必修1Unit1课堂笔记

高中英语必修1课堂笔记 unit 1 人教版 1.upset 1 upset sth.sb 使某人烦恼,使某人心烦意乱。2 be upset about 从句对。难过 失望 be upset about him his failure 2.ignore ignorant adj 1 ignore s...

地理高效271课堂模式

271 高效课堂创新模式。年级 高三。科目 地理。包科领导 张申。一级部备课组长 郑明香。二级部备课组长 赵延涛。271 高效课堂模式。改革出新,效率是学生学习的生命线。深化课堂改革,抓住课堂主阵地,充分利用课堂45分钟,深入贯彻 271高效课堂 精神,力求高效精彩的课堂,真正将课堂变成学生自主发展...

2019课堂活动方案版

本文目录。1.2018课堂活动方案。2.第二课堂活动方案。3.小学 课堂教学专题研究月 活动方案。4.翻转课堂 教学模式 活动方案。为进一步推进我校 美丽课堂 建设,深化 学本课堂 工作 激励广大教师不断投身于课堂教学改革,促进教师的专业成长,切实提高课堂教学的针对性和高效性 根据 xx市教育局关于...