有没有办法可以比较数组和arraylist,如
if (array[0]==arraylist[0])
我正在解决这个问题:
String[] s= {"a","a","b","b","b","c"};
ArrayList<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
// create a new arraylist that stores the frequency of each character.
// For example, "a" appears twice in s, so newArrayList[0]=2; "b" appears
// three times, so newArrayList[1]=3, and so on.
我的想法是使用一个循环来扫描字符串数组,每当它中的一个字母等于列表中的字母时,int count ++。但我不知道如何比较数组中的事物和arraylist中的事物。
答案 0 :(得分:4)
最简单的方法是
Arrays.asList(arr).equals(list)
答案 1 :(得分:1)
是的,您可以遍历数组和arraylist并比较元素。使用.get(index)
访问ArrayList元素。如果要比较对象(非基元),则需要使用.equals()
方法,而不是==
。
if(array[i].equals(arrayList.get(i) ) )
答案 2 :(得分:0)
import java.util.ArrayList;
public class ArrayAndArrayListElementsComparison {
public static int compareArrayAndArrayListElements(String[] array, ArrayList<String> arraylist) {
int count = 0;
for (String s : array) {
if (arraylist.contains(s)) {
count++;
}
}
return count;
}
public static void main(String[] args) {
String[] array = {"a", "a", "b", "b", "b", "c"};
ArrayList<String> arraylist = new ArrayList<String>();
System.out.println("");
arraylist.add("a");
arraylist.add("b");
arraylist.add("c");
if (!arraylist.isEmpty() && array.length > 0) {
if (compareArrayAndArrayListElements(array, arraylist) == array.length) {
System.out.println("ArrayList contains all the elements in Array");
} else if (compareArrayAndArrayListElements(array, arraylist) > 0) {
System.out.println("ArrayList contains only few elements in Array");
} else {
System.out.println("ArrayList contains none of the elements in Array");
}
} else {
System.out.println("Either ArrayList or Array is Empty.");
}
}
}
答案 3 :(得分:-1)
你试试
if (array[0].equals(arraylist[0]))
在java比较中,字符串应该使用equals()。它不像javascript。