求高效算法:ArrayList中删除另外一个ArrayList中存在的对象。
如题,有两个List:
List<String> list1 = new ArrayList<String>(); List<String> list2 = new ArrayList<String>(); list1.add("1"); list1.add("2"); list1.add("3"); list1.add("4"); list1.add("5"); list2.add("1"); list2.add("3"); list2.add("5");
public static void main(String[] args) { List<String> list1 = new ArrayList<String>(); List<String> list2 = new ArrayList<String>(); list1.add("1"); list1.add("2"); list1.add("3"); list1.add("4"); list1.add("5"); list2.add("1"); list2.add("3"); list2.add("5"); boolean restart = false; int i =0; out: for( ;i<list1.size();){ int j=0; for(;j<list2.size();j++){ if(list1.get(i).equals(list2.get(j))){ list1.remove(list1.get(i)); restart = true; break; } } if(j == list2.size()){ restart = false; } if(restart){ i = 0; continue out; }else{ i++; } } }