你好,我正在比較兩個數組列表困惑,我的數組列表中的一個是:比較的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! –