比如有两个数组:
int[] a = new int[] {1,2,3};
int[] b = new int[] {3,1,2};
只需要判断两数组中的数据是否相同,不用比较顺序
简单写了个小demo求给个积分谢谢了。
int[] a = new int[] {1,2,3};
int[] b = new int[] {3,1,2};
int c=0;
for(int i=0;i<a.length;i++){
for(int j=0;j<b.length;j++){
if(a[i]==b[j]){
c++;
}
}
}
if(c==a.length&&c==b.length){
System.out.println("两数组数字相同");
}else if(c==0){
System.out.println("两数组数字完全不同");
}else{
System.out.println("两数组数字相同个数有:"+c+"个");
}
先对2个数组进行排序,从小到大排序。
再按顺序比较每个是否相等。
先自己定义排序的 比较 相同就可以了
用一个Hash表来存数组A中的数据,键和值均为A中元素,再用B中的元素提取Hash表中的值,判断是否都相等。
1.首先看看数组的多大的,如果两个数组放的数不一样多,那就直接不行;
2.然后给他俩都排个序,一套循环在判断一下就OK
楼上的方法都可以,还有也可以用循环直接比
import java.util.Arrays;
public class Ces {
public static void main(String[] args) {
int[] a = new int[] {1,2,3};
int[] b = new int[] {3,1,2};
Arrays.sort(a);//对数组进行排序
Arrays.sort(b);
int j=0;
for(int i=0;i<a.length;i++)
{
if(a[i]!=b[i])
{
j=1;
break;
}
}
if(j==0)
System.out.println("两个数组相等");
else
System.out.println("两个数组不相等");
}
}
先判断length,如过不一样,直接返回不等,
然后利用arrays.sort(int[]);排序,
然后for循环
//把这个方法放到自己的工具类,实例化使用放入两个数据就行,通过返回的Boolean值判断是否相等
public boolean compare(int[] s,int[] e) {
if(s.length!=e.length){
return false;
}
Arrays.sort(s);
Arrays.sort(e);
for (int i = 0; i < e.length; i++) {
if(s[i]!=e[i]) {
return false;
}
}
return true;
}
//建议将自己要比较的数组转化为对象类型,这样基本上其他类型也可以用这个方法,而不是单一的数组使用
Integer[] s = {1,2};
Integer[] e = {2,1};
boolean f = compares(s, e);
//通过f来判断是否相等
public static boolean compares(Object[] s,Object[] e) {
if(s.length!=e.length){
return false;
}
Arrays.sort(s);
Arrays.sort(e);
for (int i = 0; i < e.length; i++) {
if(!s[i].equals(e[i])) { //
return false;
}
}
return true;
}
用双重循环,第一重循环第一个数组中的数字,第二重循环第二个数组中的数字,将第一个数组中的数字与第二个数组中的数字挨个比较。若相等则输出true
排序后再逐一比较是否相同就行了
整体思路就是先对数组进行排序 从小到大或者从大到小都行 不过两个数组的排序方式要相同 然后利用函数strcmp(a,b) 注意的是利用这个函数需要一个头文件string.h 结果返回值等于零为相同 其他值为不同
/**
* 通过比较元素是否同时存在与连个数组中来确定数组中的元素是否相等
* @param a 数组a
* @param b 数组b
* @return 相等返回true,不相等返回false
*/
public static boolean isEquals(int[] a, int[] b){
if(a.length != b.length){
return false;
}else{
for(int i = 0;i < a.length ;i++){
if(Arrays.binarySearch(b, a[i]) < 0){
//break;
return false;
}else{
return true;
//continue;
}
}
return true;
}
}
可以丢到list再比较