[英]Compare two different size of string arraylist in Java
我有两个大小不同的字符串数组列表。 我需要比较这两个arraylist并获取输出。 但是它给出了一个错误,例如"Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 6, Size: 6"
。 我需要为该错误做哪些更改。 我的代码是
import java.util.ArrayList;
import java.util.Arrays;
public class TestCompareArrays {
public static void main(String[] args) {
ArrayList<String> arr1 = new ArrayList<String>(Arrays.asList("a","b","c","d","e","f"));
ArrayList<String> arr2= new ArrayList<String>(Arrays.asList("b","d","f"));
for(int i = 0; i <= arr1.size(); i++){
if(arr2.contains(arr1.get(i))){
System.out.println("yes");
}
else{
System.out.println("No");
}}
}}
尝试替换为:
for(int i = 0; i <= arr1.size(); i++){
使用<
代替<=
这样的:
for(int i = 0; i < arr1.size(); i++){
因为ArrayList的大小从0
开始到size()-1
。
使用retain all
,快速准确,高效:
String orig[] = { "a", "b", "b", "c" };
String act[] = { "x", "b", "b", "y" };
List origList = new ArrayList(Arrays.asList(orig));
List actList = Arrays.asList(act);
origList.retainAll(actList);
System.out.println(origList);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.