![](/img/trans.png)
[英]The type of the expression must be an array type but it resolved to ArrayList (trying to compare string in two arrays
[英]Compare two string arrays using arraylist
我想比較兩個字符串數組A,B。我想返回和/或顯示A,B特有的元素以及A和B中的元素。我調用了我的方法,如下所示,但結果不對。 怎么解決?
A = 1,2,3,4,5;
B = 1,2;
compareStringArray(A,B, true);// true means print results
結果 -
--Elements in ONLY A -
3, 5
--Elements in ONLY B -
--Elements in both A & B -
2
碼-
public static ArrayList<ArrayList<String>> compareStringArray(
String[] arrayA, String[] arrayB, boolean display) {
ArrayList<ArrayList<String>> results = new ArrayList<ArrayList<String>>();
ArrayList<String> ara = new ArrayList<String>(Arrays.asList(arrayA));
ArrayList<String> arb = new ArrayList<String>(Arrays.asList(arrayB));
ArrayList<String> common = new ArrayList<String>();
for(String s : ara){
if (arb.contains(s)) {
common.add(s);
}// if
}//for
for(String s: common){
if (ara.contains(s)) {
ara.remove(s);
}// if
if (arb.contains(s)) {
arb.remove(s);
}// if
}//for
results.add(ara);
results.add(arb);
results.add(common);
if (display == true) {
ArrayList<String> als = null;
als = results.get(0);
System.out.println("\n--Elements in ONLY A - \n");
printArrayListOfStringAsCSV(als);
als = results.get(1);
System.out.println("\n--Elements in ONLY B - \n");
printArrayListOfStringAsCSV(als);
als = results.get(2);
System.out.println("\n--Elements in both A & B - \n");
printArrayListOfStringAsCSV(als);
}// if
return results;
}// compare
你的代碼正在我的機器上工作(我必須修復main,並實現printArrayListOfStringAsCSV
所以tsk-tsk ) -
public static void main(String[] args) {
String[] A = { "1", "2", "3", "4", "5" };
String[] B = { "1", "2" };
compareStringArray(A, B, true);
}
public static void printArrayListOfStringAsCSV(
List<String> al) {
for (int i = 0; i < al.size(); i++) {
if (i != 0) {
System.out.print(", ");
}
System.out.print(al.get(i));
}
System.out.println();
}
我得到這個輸出(看起來100%給我)。
--Elements in ONLY A -
3, 4, 5
--Elements in ONLY B -
--Elements in both A & B -
1, 2
它探測意味着問題出在printArrayListOfStringAsCSV()中。 了解更多...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.