私はAndroid用のアプリを書いています。文字列配列を使用して、共有設定からすべてのプレイヤー名を取得します (文字列配列である必要があります)。共有設定からすべてのアクティブなプレーヤーをプルするリストがあります (リストである必要があります)。リストをチェックして、プレーヤーの配列にないプレーヤーが含まれているかどうかを確認し、それらを削除する必要があります。ロジックを理解できないようです。
例えば:
リストには以下が含まれます: b c a e
配列の内容: a b c d
「e」はリストには存在するが配列には存在しないため、「e」をリストから削除する必要があります。コマンド (.contains()、.remove()、for()) は知っていますが、ロジックがわかりません。
私の最初の試みは:
for(int x=0;x<numOfPlayers;x++){
players[x] = getPrefs.getString("player"+Integer.toString(x), " ");
if(activePlayers.size()>0)
if(activePlayers.contains(players[x]))
playersChecked[x] = true;
else{
if(x<activePlayers.size())
activePlayers.remove(x);
}
}
しかし、これは、player[x] が activePlayers にない項目を持っている場合、activePlayers から x を削除します。これは問題ありません。それは逆である必要があります。