美文网首页
返回数组长度与集合长度的差

返回数组长度与集合长度的差

作者: 哈迪斯Java | 来源:发表于2023-04-08 19:41 被阅读0次

    import java.util.HashSet;
    interface ParadigmInterface<T> { // 测试接口
    int method(T[] t); // 抽象方法
    }

    public class ParadigmDemo {// 测试类
    // 静态方法,使用泛型参数,在方法名之前定义泛型。此方法用于查找数组中的重复元素个数
    static public <T> int repeatCoount(T[] t) {
    int arrayLength = t.length; // 记录数组长度
    java.util.HashSet<T> set = new HashSet<>(); // 创建哈希集合
    for (T tmp : t) { // 遍历数组
    set.add(tmp); // 将数组元素放入集合中
    }
    return arrayLength - set.size(); // 返回数组长度与集合长度的差
    }

    public static void main(String[] args) {
        Integer a[] = {1, 1, 2, 3, 1, 5, 6, 1, 8, 8};               // 整数数组
        
        String s[] = {"王", "李", "赵", "陈", "李", "孙", "张"};       // 字符串数组
        // 创建接口对象,Integer作为泛型,引入ParadigmDemo类的静态方法,方法名要定义泛型
        ParadigmInterface<Integer> p1 = ParadigmDemo::<Integer> repeatCoount;
        // 调用接口方法
        System.out.println("整数数组重复元素个数:" + p1.method(a));
        // 创建接口对象,String作为泛型,引入ParadigmDemo类的静态方法
        // 方法名若不定义泛型,则默认使用接口已定义好的的泛型
        ParadigmInterface<String> p2 = ParadigmDemo::repeatCoount;
        // 调用接口对象方法
        System.out.println("字符串数组重复元素个数:" + p2.method(s));
    }
    

    }

    相关文章

      网友评论

          本文标题:返回数组长度与集合长度的差

          本文链接:https://www.haomeiwen.com/subject/omvhddtx.html