Java 如何检查ArrayList是否<;字符串>;是否包含字符串数组中的任何元素?
在Android中,我想执行一个if语句来检查ArrayList是否包含字符串数组中的任何元素? e、 g 检查singingGroup中的任何元素是否也包含在Winners[]中 你可以用Java 如何检查ArrayList是否<;字符串>;是否包含字符串数组中的任何元素?,java,android,arrays,android-activity,arraylist,Java,Android,Arrays,Android Activity,Arraylist,在Android中,我想执行一个if语句来检查ArrayList是否包含字符串数组中的任何元素? e、 g 检查singingGroup中的任何元素是否也包含在Winners[]中 你可以用 Collections.disjoint(singingGroup, Arrays.asList(Winners)); 要测试,这两个参数没有公共元素。(另见) 结果的否定似乎就是您所要寻找的。您也可以这样检查: String Winners[] = {"Jennifer", "Patrick", "Pe
Collections.disjoint(singingGroup, Arrays.asList(Winners));
要测试,这两个参数没有公共元素。(另见)
结果的否定似乎就是您所要寻找的。您也可以这样检查:
String Winners[] = {"Jennifer", "Patrick", "Peter", "Parker"};
ArrayList<String> singingGroup = new ArrayList<String>();
singingGroup.add("Patrick");
singingGroup.add("Jane");
singingGroup.add("Joe");
singingGroup.add("Susan");
singingGroup.add("Amy");
for(int i=0; i< Winners.length;i++)
{
if(singingGroup.contains(Winners[i]))
{
System.out.println("duplicate");
}
}
stringwinners[]={“珍妮弗”、“帕特里克”、“彼得”、“帕克”};
ArrayList singingGroup=新建ArrayList();
singingGroup.add(“Patrick”);
singingGroup.add(“Jane”);
singingGroup.add(“Joe”);
singingGroup.add(“Susan”);
singingGroup.add(“艾米”);
for(int i=0;i
Collections.disjoint是存档此文件的一种方法,但也可以使用retainal()方法
仅保留此列表中包含在指定集合中的元素(可选操作)。换句话说,从该列表中删除指定集合中不包含的所有元素
案例一:singingGroup中的元素不包含在Winners[]
案例二:singingGroup的元素也包含在Winners[]
您可以使用Apache Commons提供的类
使用交集方法(如果要对公共图元执行某些操作,此方法很有用):
//for循环非常适合检查元素i是否=元素i
int i=0;
int loopCount=0;
while(loopCount
这不是最理想的代码,但如果您急需它,这将起作用是否尝试防止重复?是。如果两个指定集合没有共同元素,则Collections.disjoint返回true。
Collections.disjoint(singingGroup, Arrays.asList(Winners));
String Winners[] = {"Jennifer", "Patrick", "Peter", "Parker"};
ArrayList<String> singingGroup = new ArrayList<String>();
singingGroup.add("Patrick");
singingGroup.add("Jane");
singingGroup.add("Joe");
singingGroup.add("Susan");
singingGroup.add("Amy");
for(int i=0; i< Winners.length;i++)
{
if(singingGroup.contains(Winners[i]))
{
System.out.println("duplicate");
}
}
String Winners[] = {"Jennifer", "Steven", "Peter", "Parker"};
ArrayList<String> singingGroup = new ArrayList<String>();
singingGroup.add("Patrick");
singingGroup.add("Jane");
singingGroup.add("Joe");
singingGroup.add("Susan");
singingGroup.add("Amy");
List<String> WinnerList = new ArrayList<>(Arrays.asList(Winners));
WinnerList.retainAll(singingGroup);
System.out.println("retainList = " + WinnerList);
list1 = []
String Winners[] = {"Jennifer", "Steven", "Peter", "Parker"};
ArrayList<String> singingGroup = new ArrayList<String>();
singingGroup.add("Steven");
singingGroup.add("Jane");
singingGroup.add("Joe");
singingGroup.add("Susan");
singingGroup.add("Jennifer");
List<String> WinnerList = new ArrayList<>(Arrays.asList(Winners));
WinnerList.retainAll(singingGroup);
System.out.println("retainList = " + WinnerList);
retainList = [Jennifer, Steven]
Collection<String> intersection = CollectionUtils.intersection(singingGroup, Arrays.asList(Winners));
if (intersection.size() > 0){
// At least one element contained in the intersection
}
if (CollectionUtils.containsAny(singingGroup, Arrays.asList(Winners))){
// True if at least one common element exists in both lists
}
//for loop would be perfect to check if element i = element i
int i =0;
int loopCount = 0;
while(loopCount < Winners.lenght)
{
for(int i =0; i < singingGroup.length; i++)
{
if(Winners[loopCount] == singingGroup[i])
{
System.out.println(Winners[loopCount] + "is apart of the winners");
}//end of comparing if
if(i == singing.Group.length)
{
loopCount ++;
} //end of i == singingGroup
}//end of for loop
}//end of while loop