java中的数组比较 [英] Array comparision in java

查看:63
本文介绍了java中的数组比较的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的,



i有两个数组,需要比较一个数组的索引1和第二个数组的索引1,比如2-2,3-3数据长度在任何时候不匹配意味着退出



 字符串 tt = < span class =code-string>  Adyar,Chennai,Tamil Nadu,India; 
字符串 [] parts = tt.split( );
字符串 tt1 = Chennai,Tamil Nadu ,印度;
字符串 [] parts1 = tt1.split( );



需要比较这两个阵列形式的最后一个



if sencond数组与第一个数组成功比较然后需要输出



提前感谢

解决方案

  boolean  comArr( String  [] sa1,字符串 [] sa2)
{
if (sa1.length!= sa2.length) return false;
for int n = 0; n< sa1.length; ++ n)
{
if (!sa1 [n] .equals(sa2 [n])) return false;
}
return true;
}





[更新]

为了检查如果一个数组包含另一个,你可以使用:

(请注意你必须在原始代码中使用 split(,)

  public   static   boolean  comArr( String  [] sa1, String  [] sa2)
{
String []更大;
字符串 []较小;

if (sa1.length< sa2.length)
{
greater = sa2;
较小= sa1;
}
else
{
greater = sa1;
较小= sa2;
}
int d = greater.length - smaller.length;

for int offset = 0 ;偏移量< = d; ++偏移量)
{
int n;
for (n = 0; n< smaller.length; ++ n)
{
if (!较小[n] .equals(较大[offset + n])) break ;
}
if (n == smaller.length) return true;
}

return false;
}



[/ update]


你也可以使用Arrays.deepEquals



  boolean  isEqual = Arrays.deepEquals(parts,parts1) ; 


Dear,

i have two arrays and need to compare index 1 of one array and index 1 of second array like 2-2,3-3 like that upto array length at any time mismatch means exit

String tt="Adyar, Chennai, Tamil Nadu, India";
        String[] parts = tt.split(",");
        String tt1="Chennai, Tamil Nadu, India";
        String[] parts1 = tt1.split(",");


need compare this two array form last

if sencond array is compare sucessfully with first array then need give output

thanks in advance

解决方案

boolean comArr(String [] sa1, String [] sa2)
{
  if (sa1.length != sa2.length) return false;
  for (int n=0; n<sa1.length; ++n)
  {
    if ( ! sa1[n].equals(sa2[n]) ) return false;
  }
  return true;
}



[update]
In order to check if an array contains the other, you might use:
(Please note you have to use split(", "), in your original code)

public static boolean comArr(String [] sa1, String [] sa2)
{
  String [] bigger;
  String [] smaller;

  if (sa1.length < sa2.length)
  {
    bigger = sa2;
    smaller = sa1;
  }
  else
  {
    bigger = sa1;
    smaller = sa2;
  }
  int d = bigger.length - smaller.length;

  for (int offset = 0; offset <= d; ++offset)
  {
    int n;
    for (n=0; n<smaller.length; ++n)
    {
      if ( !smaller[n].equals(bigger[offset+n])) break;
    }
    if ( n == smaller.length) return true;
  }

  return false;
}


[/update]


You can also use Arrays.deepEquals:

boolean isEqual = Arrays.deepEquals(parts, parts1);


这篇关于java中的数组比较的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆