1問目の続きである2問目。文字列のリストが 2 つあります。文字列 (asu) のリスト (M1、M2、M3 ...) と、文字列 (rzs) のリスト (M1、M2、M3、およびそれらの可能なすべての組み合わせ) があります。各要素 (asu) (たとえば M1) が (rzs) (M1、M1M2、..) 内の要素 (たとえば M1) を検索する必要性。例: (asu) から M1 を取得し、(rzs) で重複 (contain) の検索を開始します。(rzs) に M1M2 が見つかりました。M1 が含まれています。その後、リストから両方の要素を削除する必要があります。No Idea For Name がこのコードの修正を手伝ってくれたことに感謝します。しかし、AbstractList.remove エラーのため、プログラムは常に失敗します。実装ロジックとコードのチューニングを手伝ってください!
Imports..........
public class work{
List<string> asu = Arrays.asList("M1","M1","M1","M3","M4","M5","M1","M1","M1","M4","M5","M5");
List<string> rzs = Arrays.asList("M1","M2","M3","M4","M5",
"M1M2","M1M3","M1M4","M1M5","M2M3","M2M4","M2M5","M3M4","M3M5","M4M5"
,"M1M2M3","M1M2M4","M1M2M5","M1M3M4","M1M3M4","M1M4M5","M2M4","M2M5");
public static void main(String[] args) {
work bebebe = new work();
bebebe.mywork();
}
List<string> tmp1 = new ArrayList<string>();
List<string> tmp2 = new ArrayList<string>();
System.out.println(Arrays.deepToString(rzs));
System.out.println(Arrays.deepToString(asu));
for (string curr : asu){
for (string currRzs : rzs){
System.out.println("New iteration ");
if (currRzs.contains(curr)) {
System.out.println("Element ("+curr+") in ASU =
element ("+currRzs+") in RZS");
if(tmp1.contains(curr) == false)
tmp1.add(curr);
if(tmp2.contains(currRzs) == false)
tmp2.add(currRzs);
}
}
}
for (string curr : tmp1){
asu.remove(curr);
}
for (string currRzs : tmp2){
rzs.remove(currRzs);
}