你好,我正在比较两个数组列表困惑,我的数组列表中的一个是:比较的ArrayList非相同的元素
private ArrayList<String> members = new ArrayList<>();
members.add("member123keyxyzmember123 number");
members.add("member456keyxyzmember456 number");
members.add("member789keyxyzmember789 number");
members.add("member2233keyxyzmember2233 number");
members.add("member1122keyxyzmember1122 number");
第二的ArrayList是:
private ArrayList<String> syncMembers = new ArrayList<>();
syncMembers.add("member123keyxyz123statuskeyxyz123photokeyxyzmember123 number");
syncMembers.add("member456keyxyz456statuskeyxyz456photokeyxyzmember456 number");
问题是我比较两个,所以他们给我的号码是在成员名单和不在syncMembers名单!
这是放出来应该是:
member789 number
member2233 number
member1122 number
只
!
我一直在努力为:
for (int i = 0; i < members.size(); i++) {
String stringFromMembersList = members.get(i);
String[] memberParts = stringFromMembersList.split("keyxyz");
String memberNumber = memberParts[1];
//Log.e("hgax", "sync:::" + memberNumber);
for (int j = 0; j < syncMembers.size(); j++) {
String stringFromSyncList = syncMembers.get(j);
String[] syncParts = stringFromSyncList.split("keyxyz");
String n = syncParts[3];
if (memberNumber.equals(n)) {
//Log.e("hgax", "hee:::" + n);
break;
} else {
Log.e("hgax", "ssshee:::" + memberNumber);
}
}
}
我得到的输出是:
member456 number
member789 number
member789 number
member2233 number
member2233 number
member2233 number
member1122 number
member1122 number
member1122 number
member1122 number
我有点搞不清什么是happeing我和我一直在做错吗?可有人告诉什么错误我在做提前感谢
:
这应该实现自己的目标? –
在搜索整个'syncMembers'列表之前,您无法确定是否显示它。您需要确保首先没有匹配,如果没有匹配,则从'members'显示成员。只需使用'boolean'标志来决定是否输出,如果匹配则更新为'true',并尽早终止'syncMembers'的搜索。 (编辑) –
这是一个打字错误member456! –