内部比较器与外部比较器

比较器的使用

比较器的作用:基本数据类型可以用sort();方法排序,但是引用数据类型不能用sort()排序或者比较大小得到我们想要的答案,就出现了比较器

1.内部比较器

	接口:Comparable
	实现方法: compareTo(Object o)

下面展示一些 内联代码片

public class People implements  Comparable<People> {
    String name ;//姓名
    int age;//年龄
    public People(String name, int age) {
        this.name = name;
        this.age = age;
    }
   @Override//重写父类比较方法,比较年龄的大小
    public int compareTo(People p) {
        return this.age-p.age;//两个年龄相减,返回正整数(表示比当前对象小) 0(表示相等) 负整数(表示比当前对象大)
    }
    public static void main(String[] args) {
        //创建两个对象
        People people1= new People("张三",18);
        People people2= new People("李四",20);
        System.out.println(people1.compareTo(people2));
    }
}

特点:

1.适用于两个对象的大小
2.在一个类里面完成

2.外部比较器

	接口: Comparator
	实现方法:compare( Object o1, Object  o2)


	下面展示一些 `内联代码片`。

创建一个People类

public class People01   {
    String name ;//姓名
    int age;//年龄

    public People01(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override//重写toString 方法
    public String toString() {
        return "People01{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

创建一 个外部类实现Comparator接口
用compare(People01 o1, People01 o2)制定比较规则

下面展示一些 内联代码片

import java.util.Comparator;

public class ComparePeople implements Comparator<People01> {
    @Override
    public int compare(People01 o1, People01 o2) {
        return o1.name.codePointAt(0)-o2.name.codePointAt(0);
    }
}

创建一个测试类test
下面展示一些 内联代码片

import java.util.Arrays;

public class test {
    public static void main(String[] args) {
        //创建一个People01的对象数组
        //讲People01的对象放到People01的对象数组里面
        People01 []people01={
                new People01("嘻嘻",18),
                new People01("哈哈",12),
                new People01("呵呵",20),
                new People01("气气",35),
        };
        System.out.println("排序前:");
        System.out.println(Arrays.toString(people01));
        Arrays.sort(people01,new ComparePeople());//sort()第一个参数:比较的对象,第二个参数比较规则
        System.out.println("排序后:");
        System.out.println(Arrays.toString(people01));
    }
}

特点:

1.适用于多个对象的比较、排序
2层次清晰,简单易懂

### 回答1: 外部比较器内部比较器是两种不同类型的比较器外部比较器是指一个独立于被比较对象的比较器,通常由一个专门的电路或器件实现。外部比较器可用于比较两个不同的输入信号,例如将两个不同的模拟信号或数字信号进行比较,以确定它们的相对大小或是否相等。外部比较器通常需要在电路板上进行布线并其他电路元件连接。 内部比较器是指在处理器芯片内部实现的比较器内部比较器可以用于比较处理器内部的寄存器值,例如比较两个内部寄存器的值以确定它们的相对大小或是否相等。内部比较器通常由处理器的指令集中的特定指令实现。 总之,外部比较器内部比较器的区别在于它们的实现位置和使用范围。外部比较器用于比较两个外部信号,而内部比较器用于比较处理器内部的寄存器值。 ### 回答2: 外部比较器内部比较器是在电子电路设计中常见的两类比较器。它们的主要区别在于其工作原理和应用场景。 首先,外部比较器是指在电路设计中使用独立器件构建的比较器。通常由操作放大器等电子元件组成。外部比较器能够接受外部输入信号,并通过比较输出不同电平来表达输入信号之间的关系。这种比较器具有较高的灵活性和可调性,可以根据具体应用要求进行电路设计的调整和优化。外部比较器常用于模拟电路中的电压比较、信号监测等应用,并且需要外部电源供电。 而内部比较器是集成在微控制器(MCU)或其他数字电路中的比较器。它们在芯片内部实现,通常是以特殊功能模块的形式出现。内部比较器通过比较输入信号大小来产生输出,可以用于检测电压水平、判断信号正负等功能。内部比较器的工作通常依赖于芯片的供电电压,不需要额外的电源电压,更加紧凑和节省空间。内部比较器通常具有较低的功耗和快速的响应速度,非常适合于嵌入式系统中对电平进行快速判断和处理的应用。 总的来说,外部比较器内部比较器在电路设计中具有不同的优势和应用范围。外部比较器具有更高的灵活性和可调性,适用于需要自定义电路的模拟信号处理应用;而内部比较器则更适合集成在数字电路中,提供了紧凑、低功耗和快速响应的优势,适用于嵌入式系统和数字电路中对电平快速判断的应用。 ### 回答3: 外部比较器内部比较器是在电路中使用的两种不同类型的比较器。 首先,外部比较器是一种独立的电路组件,通常由多个电子元件(如晶体管、电阻和电容等)组成。它需要外部电源来供电,并通过外部输入信号进行比较处理。外部比较器通常具有较高的输入电压范围和较快的响应速度,适用于工业领域和高速应用。 相比之下,内部比较器是在集成电路中的一部分,通常其他电路单元(如微处理器)集成在一起。它在芯片内部工作,并且通过内部电路直接连接到其他电路单元,无需额外的电源或输入信号线。内部比较器的输入电压范围通常较窄,而且响应速度较慢,但它们更为便捷和节省成本,适用于嵌入式系统和低功耗应用。 此外,外部比较器通常具有较高的功耗和占用空间,而内部比较器的功耗和占用空间更小。由于内部比较器其他电路单元集成在一起,数据传输和处理的效率更高。然而,内部比较器可能会受到芯片温度、供电电压和其他电路单元的干扰,可能会有一些不确定性和误差。 综上所述,外部比较器内部比较器在电路结构、工作方式和应用领域上存在着一些明显的区别。选择使用哪种类型的比较器,取决于具体的应用需求和优先考虑的因素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值