第二个问题,这是第一个问题。 我有两个字符串列表。有一个字符串列表(asu) - M1,M2,M3 ...以及字符串列表(rzs) - M1,M2,M3及其所有可能的组合。需要每个元素(asu)(例如M1)找到包含(例如M1)的(rzs)(M1,M1M2,...)中的元素。例如:从(asu)中取出M1并开始在(rzs)中搜索重复(包含)。我们在(rzs)中找到M1M2,它包含M1。之后,我们应该从列表中删除这两个元素。非常感谢没有想法名称帮助修改此代码。但程序总是失败,因为AbstractList.remove错误。请帮助实施逻辑和调整代码!Java。如何从两个列表中删除重复的对象
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);
}
'第二个问题,这是继续first'的 - 这是很好的做法,提供链接 – Tala
你得到UnsupportedOperationException异常? –
是的,我有UnsupportedOperationException –