두 리스트에서 같은 대상을 제거합니다

2237 단어

업무 상황
두 장의 표, 가령 문장과 그림표라고 가정하면 한 문장은 여러 장의 그림에 대응하고 매번 수정 전단의 전송값은 문장 대상에 여러 개의 그림 대상 집합을 포함한다. 나는 매번 수정할 때마다 그 그림을 추가해야 하고 그 그림은 데이터베이스에서 삭제해야 한다는 것을 알아야 한다.
코드 전시는 두 개의list가 있는데 하나는 앞에서 전송된 새로운 이미지 집합이고 하나는 데이터베이스 조회의 지난번 이미지 집합이다. 나는 이 두 개의list와 같은 데이터를 제거하고 싶다. 앞에서 전송된list는 이미지를 추가하고 데이터베이스 조회의list는 데이터베이스 이미지를 삭제하고 다시 쓰지 않는 대상인 equals나hasecode 등 방법의 다른 방식이다.
 
열 1(역순 remove):
List newL=new ArrayList();
newL.add("5");
newL.add("6");
newL.add("7");
List b=new ArrayList();
b.add("1");
b.add("2");
b.add("3");
b.add("5");
b.add("7");
for (int i=newL.size()-1;i>=0;i--){
        Object a=newL.get(i);
        for (int g=b.size()-1;g>=0;g--){
                Object c=b.get(g);
                if(a.equals(c)){
                        newL.remove(a);
                        b.remove(c);
                }
        }
}
System.out.println(" "+newL);
System.out.println(" "+b);

 
열 2:
List newL=new ArrayList();
newL.add("5");
newL.add("6");
newL.add("7");
List b=new ArrayList();
b.add("1");
b.add("2");
b.add("3");
b.add("5");
b.add("7");


List add=new ArrayList();
List remove=new ArrayList();

get(b,newL,remove);
get(newL,b,add);
System.out.println(" "+add);
System.out.println(" "+remove);

 
public static void get(List waiwei,List neiwei,List list){
        boolean e;
        for (String str:waiwei) {
                e=true;
                for (String stdr:neiwei) {
                        if(str.equals(stdr)){
                                e=false;
                        }
                }
                if(e){
                    list.add(str);
                }
        }
}

 
블로거 강력 추천:https://blog.csdn.net/persistencegoing/article/details/84376427
앞으로 길을 잃지 않도록 저에게 관심을 가져주시고 필요한 것은 단체로 토론하여 서로 자바를 배우고 학습 노선을 토론하며 경험을 공유하고 자바와 구직할 수 있기를 바랍니다.
그룹 번호: 721 515 304

좋은 웹페이지 즐겨찾기