集合set的总结
1.概述:
1.是Collection的子类,具有有、无序(存储和读取的顺序可能不一样),无重复的集合特点。
2.Set集合去重的原理在判断存入对象的哈希值 和 equals 内容 是否相同
HashCode重写的原因:要对set集合去重
//解决方案:在编写事物描述类的时候,重写hashCode()和equals 方法可以解决
3.Collections工具类的描述:
Collection:是单列集合的根节点;
Colletions:是工具类用于操作list集合的;
4.常用方法:
二分查找:binarySearch:通过二分查找的方式进行元素查找; 注意:元素要有大小顺序,有索引
随机置换:Shuffle(傻否) 按一定的顺序随机排列集合元素
交换:swap (丝袜) 把集合中两个元素互换位置
Map集合
1.双列集合的根节点
2.特点:Map集合中的键是不可以重复的且不能指向多个值,而值是可以重复的。
1.创建对象的方式:
HashMap集合名称 = new HashMap();
K:代表Map集合中的key的泛型;
V:代表Map集合中的value的泛型;
3. 增删改查方法:
增加元素/修改元素:
put(K key,V value):根据键和值的泛型传入对应的元素
若传入的key在原map集合中有对应的值,那么就会把新的value值赋值给这个key,返回被修改的value
删除元素:
V remove(K key):根据传入的键删除对应的值,并把删除的值进行返回;
clear():清空集合中所有的键值对;
遍历Map集合的方式:
方式1:获取键值对象
///创建Map集合对象
HashMap集合名 = new HashMap();
//添加元素
集合名.put(key,value);
//遍历集合
Set键的集合名 = 集合名.keySet();
//遍历键的集合获取所有的键
for(K 具体的键: 键的集合名){
V 对应的值 = 集合名.get(具体的键);
//输出或者其他操作
}
方式2:
获取键值对对象,通过键值对对象获取对应的键和值;--->通过结婚证对象获取元素的键和值
//创建Map集合对象
HashMap集合名 = new HashMap();
//添加元素
集合名.put(key,value);
//获取所有的键值对对象
<Set> 键值对集合名 = 集合名.entrySet();
//遍历键值对集合
for(Map.Entry具体的键值对对象 : 键值对集合名){
K 对应的键 = 具体的键值对对象.getKey();
V 对应的值 = 具体的键值对对象.getValue();
}
HashMap<k,v>集合名 =new HashMap<k,v>();
1.可变参数:
格式:
类型...变量名
注意:
在可变参数之后不可再追加参数
参数的数量的自定义,可以多给,也可以不可
总结对于今天的知识,我认为代码练习多了就可以理解了,这些方法了,重点还是在于Hashset的遍历的两个方式,和HashCode 、equals的理解上,set存入的是无序的元素,所以在比较的时候要和结合控制台的顺序来理解,存入set集合的顺序。
网友评论