集合Word文档格式.docx
- 文档编号:18480496
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:10
- 大小:110.81KB
集合Word文档格式.docx
《集合Word文档格式.docx》由会员分享,可在线阅读,更多相关《集合Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
hello"
);
world"
//set.add("
java"
System.out.println(set.add("
));
//遍历集合增强for循环
for(Strings:
set){
System.out.println(s);
}
System.out.println("
-------------"
//
Iterator<
it=set.iterator();
while(it.hasNext()){
System.out.println(it.next());
--------------"
String[]array=newString[set.size()];
String[]array2=set.toArray(array);
for(inti=0;
i<
array2.length;
i++){
System.out.println(array2[i]);
}
}
****Set接口的特点
1.无序(存储与读取的循环可能不一样)
2.不可以重复
3.没有整数索引
*****Hashset用法
定义:
hashset的add()方法,添加元素的过程当中,拿着添加的元素和前面的所有元素比较
如果出现重复的,那就不让添加,
如果有重复的,那就让他添加进来
重复的含义
1.比较hash值----hash值相等
2.比较地址值
3.使用equals比较equals比较结果相同
*****比较的过程
如果hash值不一样,则直接添加新的元素
如果hash值一样,比较地址值或者使用equals方法进行比较
比较结果一样,则认为是重复不添加
所有的比较结果都不一样则添加
******hashcode优化
1.成员属性
2.构造方法
3.Getter.setter方法
4.toString方法
5.Huahcode值返回1
6.Equals方法比较
********collections
Collection与collectinins区别
collection是集合体系最高顶层,包括了集合的体系共性
Collections是一个工具体,方法都是用来用于操作collection的
常见的方法:
二分查找binarySearch
列表复制copy
列表填充fill
列表反转reverse
随机置换shuffle
自然排序sort
互换位置swap
集合的体系
ArrayList
集合的体系结构:
数据结构不同,导致集合不同.但不同集合存在相似功能,将这些功能相似的点,不断向上抽取.形成了集合体系结构
数据结构(1,数据的组织方式.2,数据的存储方式)
生活实例:
电脑的配置不同,导致电脑的参数不同.但是不同的参数存在相似的功能,将这些相似的点,不断抽取出来.形参了体系
Collection中的常用功能
Booleanadd(Ee)添加元素
Booleancontains(objecto)判断集合中是否有想要的元素
BooleanisEmpty()判断集合是否为空
Booleanremove(objecto)移除元素
Voidclear()清空集合
Intsize()求集合的大小
Object[]toArray()转换为数组
添加
清空集合
判断集合中是否有想要的元素
判断集合是否为空
删除元素
查看集合中有几个元素
集合用转数组遍历数组
迭代器的概述
Iterator可以用于遍历集合
Enext()返回下一个元素
BooleanhasNext()判断是否有元素可以获取
注意问题:
Exceptioninthread"
main"
java.util.NoSuchElementException
使用next方法获取下一个元素,如果没有元素可以获取,则出现NoSuchElementException
Iteratorit=c.Iterator();
While(it.hasNext()){
Syso(it.next())
步骤
创建集合对象
添加元素
获取迭代器对象
遍历
并发修改异常
迭代器是依赖与集合的,相当于集合的一个副本
解决方法
方式一:
不适用迭代器
方式二:
迭代器自身去修改,同步到集合
Listc=newArrayList();
创建对象的方式改变
ListIteratorlit=c.ListIterator();
得到迭代器改变
Lit.add(“android”);
迭代器添加
泛型
泛型:
是一种广泛的类型,把明确数据类型的工作提前到了编译时期,借鉴了数组的特点
对比理解泛型概念
数组存在数据类型,例如String[]arr表示arr数组当中只能存放String
集合存在数据类型,例如List<
list表示list集合当中只能存放String
泛型好处:
避免了类型转换的问题
可以减少黄色警告线
可以简化我们代码的书写
什么时候可以使用泛型?
问API,当我们看到<
E>
,就可以使用泛型了
Foreach:
增强for循环
foreach:
增强for循环,一般用来遍历集合或者遍历数组
基本格式:
for(元素的类型变量:
集合或者数组对象){
可以直接使用变量;
----------------------------------
常见的数据类型
数组的特点:
查找快,增删慢
A.数组的长度一段定义不可改变
B.数组的元素都有整数索引
C.数组只能存储统一类型的元素
D.数组既可以存储基本数据类型,也可以存储引用数据类型
链表特点:
查询慢,增删快
链表是由链子连接起来的一堆结点,每一个结点上面包含内容(地址值,值,下一个结点)
特点:
【查询慢】
如何获取其中的某个结点?
没有什么好的方法,只能够遍历链表,然后一个一个查看
【增删快】
要在某个结点后面添加内容.可以把结点的下一个地址修改一下,新的结点的下一个地址也跟着修改。
栈:
先进后出
队列:
先进先出
List特点
List:
有序(存储和读取的顺序是一致的)
有整数类型的索引(索引从0开始)
允许重复
-------------------------
List特有的功能
voidadd(intindex,Eelement)添加元素
Eget(intindex)根据索引返回指定位置元素
Eremove(intindex)移除指定索引位置的元素
Eset(intindex,Eelement)修改指定位置的元素
List的常用子类
ArrayList底层是数组结构,查询快,增删慢
LinkedList底层是链表结构,查询慢,增删快
---------------------------------
如何选择使用不同的集合?
如果查询多,增删少,则使用ArrayList
如果查询少,增删多,则使用LinkedList
如果你不知道使用什么,则使用ArrayList
综合所得:
当你知道查询少,增删多.使用LinkedList,其他情况下使用ArrayList
LinkedList的特有功能:
添加
voidaddFirst(Ee)
voidaddLast(Ee)
查询
EgetFirst()
EgetLast()
删除
EremoveFirst()
EremoveLast()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 集合