zoukankan      html  css  js  c++  java
  • 集合框架总结笔记三

    泛型

    泛型是在定义类或者接口时指定类型形参,这个形参在声明变量或创建对象时确定。泛型其实是应用在编译时期的技术,用于检测所操作的引用数据的类型,提高了程序的安全性。如果我们需要在类的方法中,接收任意且相同类型的两个参数,利用前边所学的知识,我们只能将参数类型定义为Object。当传入参数时,虽然可以传入任意类型,但是也可以是两个不同类型。显然这样满足不了需求,这时我们便需要用到泛型技术。泛型的定义格式:<参数类型>。

        简单地说,泛型的出现将运行时可能出现的异常转化成了编译时的错误,也省去了强制类型转换这一步骤。定义了泛型之后,一个容器只能存储一种类型的元素。

    关于比较器和自然排序

    比较器来实现TreeSet集合对元素的排序的。首先定义一个类实现Comparator接口,重写compareTo()方法,定义比较方式。此例中,在定义比较方式 时,运用了三目运算,这样可以使得代码更加简洁。通常,将要存入TreeSet集合的对象的类都是定义好的,我们也不能去修改其中的代码,所有以自定义比较器这种方式,使得对象具有比较性,更加的方便、实用。通常,在实际开发中也是常用这种方式。

    public interface Comparable<T>

    此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法。

    实现此接口的对象列表(和数组)可以通过 Collections.sort(和 Arrays.sort)进行自动排序。实现此接口的对象可以用作有序映射中的键或有序集合中的元素,无需指定比较器

    关于集合与数列的操作类

    public class Collections

    extends Object

    此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 collection 支持的新 collection,以及少数其他内容。

    public class Arrays

    extends Object

    此类包含用来操作数组(比如排序和搜索)的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂。

  • 相关阅读:
    高维协方差矩阵估计
    互信息
    投资组合模型
    R语言
    sklearn
    Python学习
    swagger使用过程中遇到的坑
    mysql杂文
    2018狗年,半年报
    Springboot 手动搭建项目 --redis配置&日志完善+用户名
  • 原文地址:https://www.cnblogs.com/QuestionsZhang/p/9686587.html
Copyright © 2011-2022 走看看