-
[JAVA] list 에서 특정 list에 든 데이타들 삭제하기(arrayList, remove)WEB/BACK 2021. 11. 29. 22:29반응형
안녕하세요 오늘은 java에서 특정 list에서 원하는 데이터들만 제거하는 방법을 포스팅 하겠습니다.
우리가 어떤 list 에다가 어떤 list 를 추가할때 add를 이용합니다. 그런데 반대의 경우 삭제를 할때 그대로 for 문을 이용하게되면 순서가 뒤죽박죽 되면서 원하는 결과가 나오지 않을 수 있습니다. 그럴때는 쉽게 생각해서 ++ 가 아니라 -- 를 이용합니다.
예를 들어서 여러가수들의 노래 리스트가 있습니다.
List<String> song_list = new ArrayList<String>(); song_list.add("나도 여자랍니다"); song_list.add("문득"); song_list.add("그게 정말이니"); song_list.add("bad love"); song_list.add("sorry"); System.out.println(song_list); // [나도 여자랍니다, 문득, 그게 정말이니, bad love, sorry]
그리고 클라이언트가 비오 노래 인덱스 목록을 가져와서는 비오노래는 모두 빼달라고 요청합니다.
비오의 노래 목록 인덱스는 다음과 같습니다.(문득, 배드러브)
List<Integer> be_o_list = new ArrayList<Integer>(); be_o_list.add(1); be_o_list.add(3); System.out.println(be_o_list); // [1, 3]
물론 위에 코드블럭을 아래처럼 짧게 한줄로 표현할 수도 있습니다.
List<Integer> be_o_list = new ArrayList<Integer>(Arrays.asList(1,3));
전체 노래 목록에서 요즘 핫한 비오의 노래들만 제거 합니다.
for (int j = be_o_list.size() - 1; j >= 0; j--) { int index = be_o_list.get(j); song_list.remove(index); } System.out.println(song_list); // [나도 여자랍니다, 그게 정말이니, sorry]
뒤에서부터 제거합니다.
참고로 .remove(index) 입니다. 몇번째 인덱스를 삭제하는겁니다.
감사합니다.
전체 코드
public static void main(String[] args) { List<String> song_list = new ArrayList<String>(); song_list.add("나도 여자랍니다"); song_list.add("문득"); song_list.add("그게 정말이니"); song_list.add("bad love"); song_list.add("sorry"); System.out.println(song_list); // [나도 여자랍니다, 문득, 그게 정말이니, bad love, sorry] List<Integer> be_o_list = new ArrayList<Integer>(Arrays.asList(1,3)); // List<Integer> be_o_list = new ArrayList<Integer>(); // be_o_list.add(1); // be_o_list.add(3); System.out.println(be_o_list); // [1, 3] for (int j = be_o_list.size() - 1; j >= 0; j--) { int index = be_o_list.get(j); song_list.remove(index); } System.out.println(song_list); // [나도 여자랍니다, 그게 정말이니, sorry] }
반응형'WEB > BACK' 카테고리의 다른 글
[JAVA] Map 정리(LinkedHashMap, containKey, keySet(),Map 합치기putAll,순서보장하는 Map) (0) 2021.12.06 [java] java.lang.NullPointerException 원인/해결 (0) 2021.12.03 [Spring]3/3 게시판 - 목록 보여주기 (selectList) (2) 2021.10.04 [Spring]2/3 spring 프로젝트에 +mybatis + mariadb연동 (3) 2021.10.03 [Spring]1/3 eclipse에서 spring mvc project 생성+tomcat 화면 띄우기 (mac,openJDK11) (0) 2021.10.03