java中的数组比较 [英] Array comparision in java
本文介绍了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 usesplit(", ")
, 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屋!
查看全文