• 学习集合Set所做的一些笔记


    Set集合所具备的一些特点:

    1.无序化
    2.不能重复
    3.无索引

    Set集合所具有的现有类:

    1.Treeset
    2.hashset

    首先也是通过Set s =new Hashset();这种多态的形式来创建对象

    其次如果是通过add方法去添加一些string类的对象,集合将满足set的所有特点。

    但是当自己写一个自定义类,并且通过new方法创建一个对象,这时会在堆内存当中开辟一块空间,不同的对象将具备不同的地址值。

    也就意味着集合添加这些对象的时候,即使是具有相同属性值的对象,也会被加载到集合当中,现实生活中所认知的同一个人也会被加载

    ,集合就不具备了不能重复的特点。

    hashset的去重:

    通过在自定义的对象类中重写Hashcode以及equals的方法来实现

    1.通过调用属性的hashcode值来判断是否相等,不相等则输入集合

    2.通过重写equals的方法来判断具体的属性值是否相等,来区分不同的对象

    泛型:

    泛型

    广泛的类型

    E:代表的是任意类型的对象,把E改成相应的类型,此容器就只能存储此类型的对象。

    Collectionc=new ArrayList()

    泛型的作用:

    就是用来规定此容器存储数据的类型

    泛型一般运用于集合,但是在类与属性上也可以添加

    Collection<? extendsE>

    Collection<? extends Animal>

    Collection能添加Animal产生继承关系的所有类的对象

    TreeSet:是Set集合的一个具体子类

    特点:具有自然排序的功能

    Collections的sort()的功能是一样的

    Tree存储自定义对象时,需要实现comparable接口,并且自定义排序规则实现去重的效果。

    1.自定义类实现comparable接口,实现comparable();在此方法中定义规则

    2.使用Comparator接口的匿名内部类,在compare()方法中定义排序规则

    3.使用静态内部类实现comparator接口,实现compare()

  • 相关阅读:
    DSA——基数排序
    cannot instantiate the type
    DSA——从尾到头打印链表笔记
    DSA——AVL平衡二叉树
    Leetcode——438. Find All Anagrams in a String【java】【没搞清楚呢】
    Leetcode——415. Add Strings【java】
    Leetcode——387. First Unique Character in a String【java】
    Leetcode——344. Reverse String
    Leetcode——205-Isomorphic Strings(同构字符串)【待反思周末】
    DSA——Shell排序算法
  • 原文地址:https://www.cnblogs.com/benmodaozhi/p/13971181.html
Copyright © 2020-2023  润新知