java集合,Map集合,List集合,Set集合

大家好,我是小材鸟,本篇博客将带你了解java集合,如果觉得本篇对你有帮助  的话,可以给博客点一个👍吗?谢谢🌹

集合和数组的区别

1.数组可以存基本数据类型集合只能存引用数据类型

2.长度可变

集合的分类

1.Collection

2.Map 这两个集合皆为接口,而其中都各有各的实现类

Collection中有常用的两种实现类(Arraylist和Hachset)

Arraylist不唯一,有序 连续式(方便查找) linkedlist 链式 (方便修改)下标为int类型

Hachset唯一,“乱”序 按照自己特定的规则排序,添加同一元素第二次添加失败

Hachmap键(key)值(values)对 其中排序规则以及其他特征与HachSet基本相同

当新添加的键与已存在的键相同时

@1新值将替换旧值

@2并且把被替换的旧值返回。

Hachmap中还有一个entry集合,其使用场景即利用entry来将键值对附加给其他集合,并有自己的方法 如:对象.getKey()来获取该对象在entry中的key 对象.getValue来获取该对象在entry中的value

集合的泛型

泛型的类型只有引用数据类型

Object是所有类的父类,泛型为Object时可以存多种数据类型不同的数据,因为Object会自动转换为相应的包装类,但不能将泛型为Object的集合存入其他泛型为引用数据的集合

遍历集合的方法:

增强foreach foreach中不能增减集合内容

it迭代器

it迭代器用于HashSet集合中,因为HashSet集合没有下标,只能用于it迭代器或其他方法进行遍历

HashMap和list集合使用ForEach简单

注意:forEach中获取HashMap的key的值时数据类型要和key的数据类型相同

Iterotar<Integer> it = ste.iterotar();
while(it.HasNExt()){
    System.out.println(it.next());
}

maptoint将Intger类型数据转成int类型

重写Hashcode和eq的作用:

使用快捷键重写后实体类和实体类比较的就是内容不再是地址(必须重写Hashcode方法)不然比较完eq相等时,Hashcode不一定会相等,因为实体类重写了Object中的eq方法而没有重写Hashcode方法

Hashcode方法的作用是存储地址

Stream流,函数编程思想,只需要给其处理方式即可.00000

除map集合以外的集合都要加.Stream后再继续操作

ArrayList.Stream().。。。
HashSet.Stream().。。。
Map。。。
+

stream后可以采用lambda表达式继续

如:
ArrayList.Stream().forEach(对象名->操作)

collection集合:

add放 remove删除 contains查找 size集合长度 clear清空集合 addAll添加所有 toArray转数组

get取值 sort排序 remove删除下标 indexOf获取某个元素的下标

lambda表达式中的map方法和Map集合不同,map方法用来接受值,Map集合是用来储存数据的

set.removeIf(参数)判断删除

sort排序只有list可用,但是sort方法中必须要传参,默认排序就是null,否则传lamuda表达式
Collection接口中有一个remove方法,它的参数是(下标),返回类型是(对象)

多维集合

与多维数组思路相同,写法上只是泛型改为集合,存储的每个元素改为集合

本篇博客就结束了,如果觉得此篇文章对你有帮助的话,就给一个小小的赞👍,谢谢。
感谢看到此处,我们下篇文章再见。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值