集合Set的知识点-day07

集合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集合的顺序。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 9,713评论 0 16
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 5,397评论 0 3
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,955评论 18 399
  • Java8张图 11、字符串不变性 12、equals()方法、hashCode()方法的区别 13、...
    Miley_MOJIE阅读 9,137评论 0 11
  • 实际上,HashSet 和 HashMap 之间有很多相似之处,对于 HashSet 而言,系统采用 Hash 算...
    曹振华阅读 7,206评论 1 37