编程题两者接近啥意思

author author     2023-03-08     268

关键词:

面试编程第四题,如何判断两者是否相等。这个比较范围就大了,一般有比较两个字符串是否相等,比较两个数组是否相等,两个链表是否相等,两个tress是否相等这样的问题,我们通过代码来一一实现。

1.两个字符串是否相等

这里有一个考察点,判断字符串相等是两个等号(==)还是用equals?

package test;

public class EqualsTest

public static void main(String[] args)
// TODO Auto-generated method stub

String A = "ABba";
String B = "ABbaa";

if(A.equals(B))
System.out.println("相等");
else
System.out.println("不相等");




在Java字符串比较相等中,应该使用equals()方法,而不是==,原因是这样的,equal()方法比较的两个对象的值是否相等,而==比较的两个对象的内存地址是否相等。所以,使用==来判断两者是否相等是有缺陷的,下面代码来证明内存地址不同,但是值相同的比较。
package test;

public class EqualsTest

public static void main(String[] args)
// TODO Auto-generated method stub

String A = new String("Hello");
String B = "Hello";

if(A==B)
System.out.println("相等");
else
System.out.println("不相等");





输出结果是:不相等,因为字符串A使用了new这个关键字,相当于新开了一个内存地址。但是如何你定义A是这样写 Sting A ="Hello",那么这个时候使用==是可以输出两者相等,因为你在声明了两个变量,但是两个都是指向存储“Hello”这个值得地址,两个变量内存地址是一样的,都是指向同一个值。
2. 两个数组是否相等

判断两个数组是否相等,最简单就是使用Arrays.equals(object1, obect2)这个方法。

package test;

import java.util.Arrays;

public class EqualsTest

public static void main(String[] args)
// TODO Auto-generated method stub

String[] A = "1", "2", "3", "4";
String[] B = "1", "2", "3", "4";

if(Arrays.equals(A, B))
System.out.println("相等");
else
System.out.println("不相等");





上面的输出结果当然是“相等”。如果不用JAVA API方法,那么可以试试遍历两个数组元素实现。
package test;

import java.util.Arrays;

public class EqualsTest

public static void main(String[] args)
// TODO Auto-generated method stub

String[] A = "1", "2", "3", "4";
String[] B = "1", "2", "3", "4";

if(A.length==B.length)

for(int i=0; i<A.length; i++)

if(A[i].equals(B[i]))
//System.out.println("相等");
else
System.out.println("不相等");


//全部元素都相等,才打印相等
System.out.println("相等");
else
System.out.println("长度不相等,不需要判断。");






了解一下,这个普通人想得到的原始方法。
3. 两个list是否相等

同样的,我们先来看看自带的containsAll(obj)方法,然后看看比较暴力的笨方法。

package test;

import java.util.Arrays;
import java.util.List;

public class EqualsTest

public static void main(String[] args)
// TODO Auto-generated method stub

List<String> A = Arrays.asList("Tom","Anthony","Beijing");
List<String> B = Arrays.asList("Tom","Anthony","Beijing");

if(A.containsAll(B))
System.out.println("相同");
else
System.out.println("不相同");





看看循环遍历比较的暴力方法实现,和上面数组比较是一模一样的,
package test;

import java.util.Arrays;
import java.util.List;

public class EqualsTest

public static void main(String[] args)
// TODO Auto-generated method stub

List<String> A = Arrays.asList("Tom","Anthony","Beijing");
List<String> B = Arrays.asList("Tom","Anthony","Beijing");

if(A.size() == B.size())

for(int i=0; i<A.size(); i++)

if(A.get(i).equals(B.get(i)))
//do nothing
else
System.out.println("不想同");


System.out.println("相等");

else
System.out.println("长度不相等,没有比较的必要");





4. 比较两个tree是否相同

由于是树的数据结构比较,这里就比较两个二叉树是否相同。什么是二叉树,就是一个节点下有两个节点,一个左节点,一个右节点。一次往下走,每个节点下又分两个左右节点,当然不是所有节点下都有子节点。所有,判断两个二叉树是否相等,第一个判断父节点是否相同,然后判断这个父节点下的左右两个子节点是否相等,然后遍历所有子节点,满足都相等,才可以说两个二叉树是相等。(以下代码网上照过来比较复杂,一时半会看不明白,脑壳痛)
参考技术A 编程题两者接近什么意思
在C语言两者接近丶则:
ain’t a,b,c
If(abs(a-b)>=abs(b-c))
Printf(“c最接近b”)
else
Printf(“a最接近b”)
参考技术B 计算两个数之间的差,取其绝对值(如果num2大于num1),并将结果与1比较:

你猜这个题输出啥?--java基础概念

  最近在看java编程思想,大部分内容都觉得没啥意思,但是突然看到一个基本概念(似乎都忘了),于是写了测试题,我想这辈子也不会忘这个概念了。  题目如下:publicclassSuberextendsLast{publicSuber(){}publicSuber(inti){System.out.pr... 查看详情

在软件开发过程中提到“工件”这个词是啥意思?它是源代码或文档,还是两者兼而有之?

...提到“工件”这个词是啥意思?它是源代码或文档,还是两者兼而有之?【英文标题】:Whatdoestheword"Artifact"meanswhenitismentionedinduringsoftwaredevelopment?Isitasource-codeordocumentorcanbeboth?在软件开发过程中提到“工件”这个词是什么... 查看详情

space-between啥意思

参考技术A隔阂,代沟,间距。追答space空间between两者之间两者之间的空间就可以翻译成隔阂代沟间距类似于的还有mother—likemother母亲like像翻译就是母亲般的 参考技术B间距 查看详情

感觉和感受怎样解释?两者有啥区别,分别用在啥情况下?

参考技术A感觉和感受怎样解释?两者有什么区别,分别用在什么情况下?呵呵,其实很简单,感觉是在事发之前,一般用在对事或对物的直观印象或预感;感受是在事发之后,对事或对物的评价或感触!希望对你有帮助!担任... 查看详情

编程中“工人”的概念是啥意思?

】编程中“工人”的概念是啥意思?【英文标题】:Whatdoestheconceptof"worker"meaninprogramming?编程中“工人”的概念是什么意思?【发布时间】:2012-05-0505:28:08【问题描述】:我想知道编程中“worker”的概念是什么意思?我最... 查看详情

编程中的“存根”是啥意思?

】编程中的“存根”是啥意思?【英文标题】:Whatdoes"tostub"meaninprogramming?编程中的“存根”是什么意思?【发布时间】:2012-04-0409:21:40【问题描述】:例如,这句话是什么意思?与外部API集成几乎是任何现代网络应用程... 查看详情

就编程而言,“注册”是啥意思?

】就编程而言,“注册”是啥意思?【英文标题】:Whatdoes"toregister"meanintermsofprogramming?就编程而言,“注册”是什么意思?【发布时间】:2019-04-0105:30:30【问题描述】:我对处理器寄存器很熟悉,但我对这本编程电子书... 查看详情

dart是啥意思

参考技术A我们在学习编程的时候可能会接触到dart,那么它到底是什么呢?Dart的简介Dart是一种适用于万维网的开放源代码编程语言,由Google主导开发,于2011年10月公开。它的开发团队由GoogleChrome浏览器V8引擎团队的领导者拉尔斯... 查看详情

“以编程方式”做/确定某事是啥意思? [关闭]

】“以编程方式”做/确定某事是啥意思?[关闭]【英文标题】:Whatdoesitmeantodo/determinesomething"programmatically"?[closed]“以编程方式”做/确定某事是什么意思?[关闭]【发布时间】:2010-10-0620:05:09【问题描述】:以编程方式。... 查看详情

编程中的“ad hoc”是啥意思?

】编程中的“adhoc”是啥意思?【英文标题】:Whatdoes"adhoc"meaninprogramming?编程中的“adhoc”是什么意思?【发布时间】:2010-12-1916:39:16【问题描述】:术语“adhoc”用于编程。究竟是什么意思?【问题讨论】:【参考方案1... 查看详情

框架、编程语言和脚本语言是啥意思?

】框架、编程语言和脚本语言是啥意思?【英文标题】:Whatismeantbyframework,programminglanguageandscriptinglanguage?框架、编程语言和脚本语言是什么意思?【发布时间】:2010-12-0314:34:18【问题描述】:框架、编程语言和脚本语言是什么意... 查看详情

框架、编程语言和脚本语言是啥意思?

】框架、编程语言和脚本语言是啥意思?【英文标题】:Whatismeantbyframework,programminglanguageandscriptinglanguage?框架、编程语言和脚本语言是什么意思?【发布时间】:2010-12-0314:34:18【问题描述】:框架、编程语言和脚本语言是什么意... 查看详情

sockets啥意思

sockets什么意思参考技术AicosoftWindows下网络编程接口。它包含大量的库函数,以使程序员能充分地利用Windows消息驱动机制进行编程。其实它就是说白了,它就是一个API。也就是应用程序接口。用于网络编程。本回答被提问者采纳 ... 查看详情

origin8.1中pearson'sr是啥意思

参考技术A是rsquare吧,就是r^2,就是相关系数。r^2越接近于1,说明拟合的结果与待拟合的数据越接近,拟合结果越好。 查看详情

(number & -number) 在位编程中是啥意思? [复制]

】(number&-number)在位编程中是啥意思?[复制]【英文标题】:Whatdoes(number&-number)meaninbitprogramming?[duplicate](number&-number)在位编程中是什么意思?[复制]【发布时间】:2016-06-2200:51:11【问题描述】:例如:intget(inti)intres=0;while(i... 查看详情

Objective-c 或 iPhone 编程中的“MyIdentifier”是啥意思

】Objective-c或iPhone编程中的“MyIdentifier”是啥意思【英文标题】:Whatdoes"MyIdentifier"meaninObjective-coriPhoneprogrammingObjective-c或iPhone编程中的“MyIdentifier”是什么意思【发布时间】:2009-06-1823:51:26【问题描述】:我对下面这行“... 查看详情

当 send() 在 socket 编程中返回时,这是啥意思?

】当send()在socket编程中返回时,这是啥意思?【英文标题】:Whensend()returnsinsocketprogramming,whatdoesthatmean?当send()在socket编程中返回时,这是什么意思?【发布时间】:2011-04-1802:46:31【问题描述】:send()返回时,有三种可能:1.要发... 查看详情

面向对象编程是啥意思

面向对象编程又称OOP,是一种计算机编程架构。本质是以建立模型体现出来的抽象思维过程和面向对象的方法。OOP的一条基本原则是计算机程序由单个能够起到子程序作用的单元或对象组合而成。OOP达到了软件工程的三个主要目... 查看详情