rph*_*101 1 java arrays string android list
我正在为Android编写应用程序.我使用字符串数组从共享首选项中提取所有播放器名称(必须是字符串数组).我有一个列表,可以从共享首选项中提取所有活跃的玩家(必须是一个列表).我需要检查我的列表,看它是否包含任何不在我的播放器阵列中的播放器并删除它们.我似乎无法弄清楚逻辑.
例如:
列表包含:b c a e
数组包含:a b c d
由于'e'存在于List中而不存在于Array中,因此需要从列表中删除'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);
}
}
Run Code Online (Sandbox Code Playgroud)
但是如果player [x]有一个activePlayers没有的项目,这会从activePlayers中删除x,这很好.它需要反过来.
old*_*inb 11
你在寻找什么Collection.retainAll.
仅保留此集合中包含在指定集合中的元素
list.retainAll(Arrays.asList(array));
Run Code Online (Sandbox Code Playgroud)