• 集合框架总结笔记三


    泛型

    泛型是在定义类或者接口时指定类型形参,这个形参在声明变量或创建对象时确定。泛型其实是应用在编译时期的技术,用于检测所操作的引用数据的类型,提高了程序的安全性。如果我们需要在类的方法中,接收任意且相同类型的两个参数,利用前边所学的知识,我们只能将参数类型定义为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

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

  • 相关阅读:
    处理sevenzipsharp 检查密码函数的Bug
    C# 开源压缩组件比较
    css 一些技巧
    input 限制输入
    原生JS实现淡入淡出效果(fadeIn/fadeOut/fadeTo)
    js string.format 方法
    Atom插件及使用
    chrome浏览器的跨域设置-包括版本49前后两种设置 ,windows&mac
    原生js监听input值改变事件
    html5 tab横向滚动,无滚动条(transform:translate)
  • 原文地址:https://www.cnblogs.com/QuestionsZhang/p/9686587.html
Copyright © 2020-2023  润新知